Menambahkan elemen ke array
Jika array sudah ada, Anda dapat menambahkan elemen tambahan ke dalamnya. Hal ini dilakukan secara langsung menggunakan operator penugasan (tanda sama dengan) dengan cara yang sama seperti memberikan nilai pada string atau angka. Dalam hal ini, Anda tidak perlu menentukan kunci elemen yang ditambahkan, tetapi bagaimanapun juga, saat mengakses array, Anda perlu tanda kurung siku
. Menambahkan dua elemen baru ke $List, kami menulis:
$Daftar = "pir";
$Daftar = "tomat";
. Menambahkan dua elemen baru ke $List, kami menulis:
$Daftar = "pir";
Jika kunci tidak ditentukan, setiap elemen akan ditambahkan ke array yang ada dan diindeks berdasarkan nomor urut berikutnya. Jika kita menambahkan elemen baru ke array dari bagian sebelumnya, yang elemennya memiliki indeks 1, 2, dan 3, maka pir akan memiliki indeks 4, dan tomat akan memiliki indeks 5. Saat Anda secara eksplisit menentukan indeks, dan nilainya adalah sudah ada, nilai yang ada di lokasi tersebut akan hilang dan diganti dengan yang baru:
Kami akan mencoba menambahkan elemen baru ke array dengan menulis ulang skrip sups.php. Dengan terlebih dahulu mencetak elemen asli array, lalu elemen asli beserta elemen tambahannya, kita dapat dengan mudah melihat perubahan yang terjadi.
Sama seperti Anda dapat mengetahui panjang string (jumlah karakter yang dikandungnya) menggunakan fungsi strlen(), Anda juga dapat dengan mudah menentukan jumlah elemen dalam array menggunakan fungsi count():
- $Berapa Banyak = hitungan($Array); Buka file sup.php di.
- editor teks Setelah menginisialisasi array menggunakan fungsi array(), tambahkan entri berikut:
- Fungsi count() akan menentukan berapa banyak elemen dalam array $Soups. Dengan menetapkan nilai ini ke suatu variabel, maka dapat dicetak. Tambahkan tiga elemen tambahan ke array.
- $Soups["Sabtu"] = "Krim Brokoli"; Hitung elemen dalam array dan cetak nilai ini.
- \N");
$Berapa Banyak = hitung($Sup);
print("Array berisi $Berapa Banyak elemen.
\N");
$Soups["Kamis"] = "Mie Ayam";
$Soups["Friday"] = "Tomat";
$HowManyNow = hitungan($Soup);
print("Array sekarang berisi elemen $HowManyNow.
Simpan skrip (Listing 7.2), unggah ke server dan uji di browser (Gbr.).
1
2
3
4
5 Menggunakan Array
6 $Sup = susunan(
7 "Senin"=>"Clam Chowder",
8 "Selasa"=>"Ayam Cabai Putih",
9 "Rabu"=>"Vegetarian");
11 print ("Array berisi $HowMany
elemen.
\N");
12 $Soups["Kamis"] = "Mie Ayam";
13 $Sup["Jumat"] = "Tomat";
14 $Soups["Sabtu"] = "Krim
Brokoli";
15 $HowManyNow = hitungan($Soup);
16 print("Array sekarang berisi
elemen.
17 ?>
18
19
elemen $HowManyNow. Muncul di PHP 4.0 fitur baru
, yang memungkinkan Anda menambahkan satu array ke array lainnya. Operasi ini juga bisa disebut penggabungan atau penggabungan array. Fungsi array_merge() dipanggil sebagai berikut:
$Array Baru = array_merge($SatuArray, $DuaArray);
Anda dapat menulis ulang halaman sups.php menggunakan fungsi ini jika Anda bekerja pada server yang menginstal PHP 4.0.
- Menggabungkan dua array
- Buka file sup.php di editor teks jika belum terbuka. Setelah menginisialisasi array menggunakan fungsi array(), tambahkan entri berikut:
- Gabungkan dua array menjadi satu. $TheSoups = array_merge($Soup, $Soup2);
- Hitung elemen array baru dan cetak hasilnya. $BerapaBanyak3 = hitungan($TheSoups);
- Tutup PHP dan dokumen HTML. ?>
- Simpan file (Listing 7.3), unggah ke server dan uji di browser (Gbr.).
Setelah menginisialisasi array $Soups, hitung elemennya dan cetak hasilnya.
print("Array sekarang berisi elemen $HowManyNow.
- print("Array $Soups berisi elemen $HowMany.
"Kamis"=>"Mie Ayam",
"Jumat"=>"Tomat",
"Sabtu"=>"Krim Brokoli");
$BerapaBanyak2 = hitungan($Soup2);
print("Array $Soups2 berisi elemen $HowMany2.
print("Array sekarang berisi elemen $HowManyNow.
Pastikan array disusun dalam urutan ini ($Soups, lalu $Soups2), yaitu elemen Kamis dan Jumat harus ditambahkan ke elemen Senin dari Rabu, dan bukan sebaliknya.
print("Array $TheSoups berisi
-$BerapaBanyak3 elemen.
print("Array sekarang berisi elemen $HowManyNow.
Listing 7.3 Fungsi Array_merge() baru. Ini adalah salah satu dari beberapa fitur tambahan di PHP 4.0 yang dirancang untuk bekerja dengan array. Menggunakan array Anda dapat menghemat banyak waktu.
1
2
3
4
5 6 $Sup = susunan!
7 "Senin"=>"Clam Chowder",
"Selasa"=>"Ayam Cabai Putih",
8 "Rabu"=>"Vegetarian"
9);
10 $Berapa Banyak = hitungan($Sup);
11 print ("Array $Soups berisi elemen $HowMany.
elemen.
12 $Sup2 = susunan(
13"Kamis"=>"Mie Ayam",
14 "Jumat"=>"Tomat",
15 "Sabtu"=>"Krim Brokoli"
16); .
17 $BerapaBanyak2 = hitungan($Soup2);
18 print ("Array $Soups2 berisi elemen $HowMany2.
elemen.
19 $TbeSoupe = array_merge($Soup, $Soup2);
20 $HowMany3 = hitungan ($TheSoups) ;
21 print ("Array $TheSoups berisi elemen .$HowMany3.
elemen.
22 ?> "
23
24
Berhati-hatilah saat menambahkan elemen ke array secara langsung. Hal ini dilakukan dengan benar seperti ini: $Ar ray = "Tambahkan Ini"; iyai$Aggau = "Tambahkan Ini";, tapi yang benar seperti ini: $Aggau = "Tambahkan Ini";. Jika Anda lupa memberi tanda kurung, nilai tambah akan menghancurkan array yang ada, mengubahnya menjadi string atau angka sederhana.
PHP 4.0 memiliki beberapa fungsi baru untuk bekerja dengan array. Tidak semuanya dibahas dalam buku ini. Namun informasi lengkap mengenai hal ini terdapat dalam manual bahasa PHP yang dapat ditemukan di website PHP. Berhati-hatilah untuk tidak menggunakan fitur baru yang unik pada PHP 4.0 jika server Anda menjalankan PHP 3.x.
PHP Mendukung tipe data skalar dan komposit. Pada artikel ini, kita akan membahas salah satu tipe komposit: array. Array adalah kumpulan nilai data yang diorganisasikan sebagai kumpulan pasangan nilai kunci yang terurut.
Artikel ini membahas tentang membuat array, menambahkan elemen ke array. Ada banyak fungsi bawaan yang bekerja dengan array PHP karena array bersifat umum dan berguna untuk digunakan. Misalnya, jika Anda ingin mengirim email ke lebih dari satu alamat email, Anda dapat menyimpan alamat email dalam sebuah array dan kemudian mengulang array tersebut, mengirimkan pesan ke alamat email yang diambil dari array tersebut.
Array terindeks dan asosiatif
Ada dua jenis array di PHP: indeks dan asosiatif. Kunci dari array yang diindeks adalah bilangan bulat yang dimulai dari 0. Array yang diindeks digunakan ketika Anda memerlukan posisi tertentu dalam array. Array asosiatif berperilaku seperti dua kolom dalam sebuah tabel. Kolom pertama adalah kunci yang digunakan untuk mengakses nilai (kolom kedua).
PHP secara internal menyimpan semua array sebagai array asosiatif, jadi satu-satunya perbedaan antara array asosiatif dan array yang diindeks adalah kuncinya muncul. Beberapa fungsi disediakan terutama untuk digunakan dengan array yang diindeks, karena fungsi tersebut mengasumsikan bahwa kunci Anda adalah bilangan bulat berurutan yang dimulai dari 0. Dalam kedua kasus, kuncinya unik - yaitu, Anda tidak dapat memiliki dua elemen dengan kunci yang sama, terlepas dari apakah kuncinya adalah string atau bilangan bulat.
DI DALAM PHP array memiliki urutan internal elemennya yang tidak bergantung pada kunci dan nilai, dan terdapat fungsi yang dapat digunakan untuk melintasi array berdasarkan urutan internal ini.
Mendefinisikan elemen dalam array
Anda dapat mengakses nilai tertentu dari array dengan menggunakan nama array diikuti dengan kunci elemen (terkadang disebut indeks) dalam tanda kurung siku:
$usia["Fred"]; $menunjukkan;
Kuncinya bisa berupa string atau integer. Nilai string sebagai angka (tanpa angka nol di depan) diperlakukan sebagai bilangan bulat. Dengan demikian, $array Dan $susunan['3'] mengacu pada elemen yang sama, tetapi $susunan['03'] mengacu pada elemen lain. Angka negatif juga dapat digunakan sebagai kunci, namun tidak menentukan posisi dari akhir array, seperti pada Perl.
Tidak perlu menulis kunci dalam tanda kutip. Misalnya, $array['Fred'] menyukai $arrat. Masih dianggap gaya yang bagus PHP selalu gunakan tanda kutip. Jika indeks tanpa tanda kutip, maka PHP menggunakan nilai konstanta sebagai indeksnya:
Define("indeks",5); gema $array; // akan mengembalikan $array, bukan $array["index"];
Jika Anda ingin mengganti angka ke dalam indeks, Anda perlu melakukan ini:
$umur["Klon$angka"]; // akan kembali, misalnya $age["Clone5"];
Namun, jangan mengutip kunci dalam kasus berikut:
// salah mencetak "Halo, $orang["nama"]"; print "Halo, $orang["nama"]"; // koreksi cetakan "Halo, $orang";
Menyimpan data dalam array
Saat Anda mencoba menyimpan nilai dalam array, array akan otomatis dibuat jika sebelumnya tidak ada, tetapi saat Anda mencoba mengambil nilai dari array yang belum ditentukan, array tidak akan dibuat. Misalnya:
// $addresses belum ditentukan hingga saat ini echo $addresses; // tidak ada gema $alamat; // tidak ada $addresses = "spam@cyberpromo.net"; echo $alamat; // cetak "Array"
Anda dapat menggunakan tugas sederhana untuk menginisialisasi array dalam suatu program:
$alamat = "spam@cyberpromo.net"; $addresses = "abuse@example.com"; $alamat = "root@example.com"; // ...
Kami mendeklarasikan array indeks dengan indeks integer dimulai dari 0.
Array asosiatif:
$harga["Paket"] = 15,29; $harga["Roda"] = 75,25; $harga["Ban"] = 50,00; // ...
Cara yang lebih sederhana untuk menginisialisasi array adalah dengan menggunakan konstruk Array(), yang membangun array dari argumennya:
$addresses = array("spam@cyberpromo.net", "abuse@example.com", "root@example.com");
Untuk membuat array asosiatif menggunakan Array(), menggunakan => simbol yang memisahkan indeks dari nilai:
$harga = array("Gasket" => 15,29, "Roda" => 75,25, "Ban" => 50,00);
Perhatikan penggunaan ruang dan keselarasan. Kita dapat mengelompokkan kodenya, tetapi kodenya menjadi kurang jelas:
$harga = array("Gasket"=>15,29,"Roda"=>75,25,"Ban"=>50,00);
Untuk membuat array kosong, Anda perlu memanggil konstruknya Array() tanpa argumen:
$alamat = Array();
Anda dapat menentukan kunci awal dalam array dan kemudian daftar nilai. Nilai dimasukkan ke dalam array, dimulai dengan kunci dan kemudian meningkat:
$hari = array(1 => "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"); // 2 adalah Selasa, 3 adalah Rabu, dst.
Jika indeks awal adalah string, maka indeks berikutnya menjadi bilangan bulat, dimulai dari 0. Jadi kode berikut mungkin error:
$whoops = array("Friday" => "Hitam", "Coklat", "Hijau"); // sama seperti $whoops = array("Friday" => "Black", 0 => "Brown", 1 => "Green");
Menambahkan elemen baru ke akhir array
Untuk menyisipkan beberapa nilai di akhir array terindeks yang ada, gunakan sintaksis:
$keluarga = array("Fred", "Wilma"); // $family = "Fred" $family = "Kerikil"; // $family = "Kerikil"
Konstruksi ini mengasumsikan bahwa indeks array adalah angka dan menetapkan elemen indeks numerik berikutnya yang tersedia, dimulai dari 0. Mencoba menambahkan elemen ke array asosiatif hampir selalu merupakan kesalahan programmer, tetapi PHP akan menambahkan elemen baru dengan indeks numerik (mulai dari 0) tanpa mengeluarkan peringatan:
$orang = array("nama" => "Fred"); // $orang["nama"] = "Fred"; $orang = "Wilma"; // $orang = "Wilma"
Pada tahap ini, kita akan menyelesaikan bagian pengantar bekerja dengan array di PHP. Saya berharap dapat melihat Anda di artikel berikutnya.
array_pad
Menambahkan beberapa elemen ke array.
Sintaksis:
Array array_pad (input array, int pad_size, pad_value campuran)
Fungsi array_pad() mengembalikan salinan array input yang elemen dengan pad_values telah ditambahkan, sehingga jumlah elemen dalam array yang dihasilkan adalah pad_size.
Jika pad_size>0, maka elemen akan ditambahkan ke akhir array, dan jika<0 - то в начало.
Jika nilai pad_size lebih kecil dari elemen dalam array masukan asli, maka tidak ada penambahan yang akan terjadi dan fungsi akan mengembalikan array masukan asli.
Contoh penggunaan fungsi array_pad():
$arr = susunan(12, 10, 4);
$hasil = array_pad($arr, 5, 0);
// $hasil = larik(12, 10, 4, 0, 0);
$hasil = array_pad($arr, -7, -1);
// $hasil = larik(-1, -1, -1, -1, 12, 10, 4)
$hasil = array_pad($arr, 2, "noop");
// tidak akan menambahkan
array_map
Terapkan fungsi khusus ke semua elemen array yang ditentukan.
Sintaksis:
Array array_map(panggilan balik campuran, array arr1 [, array ...])
Fungsi array_map() mengembalikan array yang berisi elemen dari semua array yang ditentukan setelah diproses oleh fungsi panggilan balik pengguna.
Jumlah parameter yang diteruskan ke fungsi yang ditentukan pengguna harus sesuai dengan jumlah array yang diteruskan ke array_map().
Contoh penggunaan fungsi array_map(): Memproses satu array
kembalikan $n*$n*$n;
}
$a = susunan(1, 2, 3, 4, 5);
$b = array_map("kubus", $a);
print_r($b);
?>
Himpunan(
=> 1
=> 8
=> 27
=> 64
=> 125
)
Contoh penggunaan fungsi array_map(): Memproses banyak array
return "Angka $n dalam bahasa Spanyol adalah $m";
}
fungsi map_Spanyol($n, $m) (
mengembalikan array ($n => $m);
}
$a = susunan(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
$d = array_map("peta_Spanyol", $a , $b);
print_r($d);
?>
Contoh yang diberikan akan menampilkan yang berikut:
// cetakan $cArray(
=> Nomor 1 dalam bahasa Spanyol - uno
=> Nomor 2 dalam bahasa Spanyol - dos
=> Nomor 3 dalam bahasa Spanyol - tres
=> Nomor 4 dalam bahasa Spanyol - cuatro
=> Nomor 5 dalam bahasa Spanyol - cinco
)
// cetakan $dArray(
=> Susunan
=> tidak
)
=> Susunan
=> lakukan
)
=> Susunan
=> tiga
)
=> Susunan
=> cuatro
)
=> Susunan
=>cinco
)
Biasanya fungsi array_map() digunakan pada array yang memiliki ukuran yang sama. Jika array memiliki panjang yang berbeda, maka array yang lebih kecil akan diisi dengan elemen dengan nilai kosong.
Perlu dicatat bahwa jika Anda menentukan null alih-alih nama fungsi pemrosesan, array dari array akan dibuat.
Contoh penggunaan fungsi array_map(): Membuat array dari array
$b = array("satu", "dua", "tiga", "empat", "lima");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
Contoh yang diberikan akan menampilkan yang berikut:
Himpunan(
=> Susunan
=> 1
=> satu
=> tidak
)
=> Susunan
=> 2
=> dua
=> lakukan
)
=> Susunan
=> 3
=> tiga
=> tiga
)
=> Susunan
=> 4
=> empat
=> cuatro
)
=> Susunan
=> 5
=> lima
=>cinco
)
Fungsi yang didukung oleh PHP 4 >= 4.0.6, PHP 5
array_pop
Mengambil dan menghapus elemen terakhir dari sebuah array.
Sintaksis:
Campuran array_pop(array arr);
Fungsi array_pop() memunculkan elemen terakhir dari array arr dan mengembalikannya, kemudian menghapusnya. Dengan fungsi ini kita dapat membangun struktur seperti tumpukan. Jika array arr kosong, atau bukan array, fungsi akan mengembalikan string kosong NULL.
Setelah menggunakan fungsi array_pop(), kursor array disetel ke awal.
Contoh penggunaan fungsi array_pop():
$buah = array_pop($tumpukan);
print_r($tumpukan);
print_r($buah);
?>
Contohnya akan menampilkan yang berikut:
Himpunan(
=> oranye
=> pisang
=> apel
)
Fungsi yang didukung oleh PHP 4, PHP 5
array_push
Menambahkan satu atau lebih elemen ke akhir array.
Sintaksis:
Int array_push(array arr, var1 campuran [, var2 campuran, ..])
Fungsi array_push() menambahkan elemen var1, var2, dll. ke array arr. Ini memberikan indeks numerik kepada mereka - persis seperti yang dilakukannya untuk standard .
Jika Anda hanya perlu menambahkan satu elemen, mungkin lebih mudah menggunakan operator ini:
Array_push($Arr,1000); // memanggil fungsi$Arr=100; // sama, tapi lebih pendek
Contoh penggunaan fungsi array_push():
array_push($tumpukan, "apel", "raspberry");
print_r($tumpukan);
?>
Contohnya akan menampilkan yang berikut:
Himpunan(
=> oranye
=> pisang
=> apel
=> raspberi
)
Harap dicatat bahwa fungsi array_push() memperlakukan array sebagai tumpukan dan selalu menambahkan elemen di akhir.
Fungsi yang didukung oleh PHP 4, PHP 5
array_shift
Mengambil dan menghapus elemen pertama array.
Sintaksis:
Campuran array_shift(array arr)
Fungsi array_shift() mengambil elemen pertama dari array arr dan mengembalikannya. Ini sangat mirip dengan array_pop(),
tetapi ia hanya menerima elemen awal, bukan elemen akhir, dan juga menghasilkan “perombakan” yang cukup kuat dari keseluruhan array: lagipula, saat mengekstraksi elemen pertama, Anda harus menyesuaikan semua indeks numerik dari semua elemen yang tersisa, Karena semua elemen array berikutnya digeser satu posisi ke depan. Kunci array string tidak berubah.
Jika arr kosong atau bukan array, fungsi akan mengembalikan NULL.
Setelah menggunakan fungsi ini, penunjuk array dipindahkan ke awal.
Contoh penggunaan fungsi array_shift():
$buah = array_shift($tumpukan);
print_r($tumpukan);
?>
Contoh ini akan menampilkan yang berikut:
Himpunan(
=> pisang
=> apel
=> raspberi
)
dan variabel $fruit akan memiliki nilai "oranye"
Fungsi yang didukung oleh PHP 4, PHP 5
array_unshift
Menambahkan satu atau lebih nilai ke awal array.
Sintaksis:
Int array_unshift(daftar arr, var1 campuran [,var2 campuran, ...])
Fungsi array_unshift() menambahkan nilai var yang diteruskan ke awal array arr. Urutan elemen baru dalam array dipertahankan. Semua indeks digital array akan diubah sehingga dimulai dari nol. Semua indeks string array tidak berubah.
Fungsi ini mengembalikan jumlah elemen baru dalam array.
Contoh penggunaan fungsi array_unshift():
array_unshift($antrian, "apel", "raspberry");
?>
Sekarang variabel $queue akan memiliki elemen berikut:
Himpunan(
=> apel
=> raspberi
=> oranye
=> pisang
)
Fungsi yang didukung oleh PHP 4, PHP 5
array_unik
Menghapus nilai duplikat dalam array.
Sintaksis:
Larik larik_unik(susunan larik)
Fungsi array_unique() mengembalikan array yang terdiri dari semua nilai unik dalam array arr beserta kuncinya, dengan menghapus semua nilai duplikat. Pasangan kunci=>nilai pertama yang ditemui ditempatkan dalam larik yang dihasilkan. Indeks dipertahankan.
Contoh penggunaan fungsi array_unique():
"hijau", "merah", "b" =>
"hijau", "biru", "merah");
print_r($hasil);
?>
Contohnya akan menampilkan yang berikut:
Himpunan(
[a] => hijau
=> merah
=> biru
)
Contoh penggunaan fungsi array_unique(): Membandingkan tipe data
$hasil = array_unique($masukan);
var_dump($hasil);
?>
Contohnya akan menampilkan yang berikut:
Himpunan(2) (
=> ke dalam(4)
=> rangkaian(1) "3"
}
Fungsi yang didukung oleh PHP 4 >= 4.0.1, PHP 5
array_chunk
Fungsi ini membagi array menjadi beberapa bagian.
Sintaksis:
Array array_chunk(array array, ukuran int [, bool melestarikan_keys])
Fungsi array_chunk() membagi array asli menjadi beberapa array, yang panjangnya ditentukan oleh ukuran angka. Jika dimensi larik asli tidak habis dibagi persis dengan ukuran bagian-bagiannya, maka larik akhir akan berdimensi lebih kecil.
Fungsi array_chunk() mengembalikan array multidimensi, yang indeksnya dimulai dari 0 hingga jumlah array yang dihasilkan, dan nilainya adalah array yang diperoleh sebagai hasil pemisahan.
Parameter opsional preserv_keys menentukan apakah kunci array asli harus dipertahankan atau tidak. Jika parameter ini salah (nilai default), maka indeks array yang dihasilkan akan ditentukan dengan angka yang dimulai dari nol. Jika parameternya benar, maka kunci array asli akan dipertahankan.
Contoh penggunaan fungsi array_chunk():
$array = array("elemen pertama",
"elemen ke-2"
"elemen ke-3"
"elemen ke-4"
"elemen ke-5");
print_r(array_chunk($array, 2));
print_r(array_chunk($array, 2, BENAR));
Contohnya akan menampilkan yang berikut:
Himpunan(
=> Susunan
=> elemen pertama
=> elemen ke-2
)
=> Susunan
=> elemen ke-3
=> elemen ke-4
)
=> Susunan
=> elemen ke-5
)
)
Himpunan(
=> Susunan
=> elemen pertama
=> elemen ke-2
)
=> Susunan
=> elemen ke-3
=> elemen ke-4
)
=> Susunan
=> elemen ke-5
)
Fungsi yang didukung oleh PHP 4 >= 4.2.0, PHP 5
array_isi
Fungsi ini mengisi array dengan nilai tertentu.
Sintaksis:
Array array_fill(int start_index, int num, nilai campuran)
Fungsi array_fill() mengembalikan array yang berisi nilai yang ditentukan dalam parameter nilai ukuran num, dimulai dengan elemen yang ditentukan dalam parameter start_index.
Contoh penggunaan array_diff_uassoc():
print_r($a);
?>
Contohnya akan menampilkan yang berikut:
Himpunan(
=> pisang
=> pisang
=> pisang
=> pisang
=> pisang
=> pisang
)
Fungsi yang didukung oleh PHP 4 >= 4.2.0, PHP 5
array_filter
Fungsi ini menerapkan filter ke array menggunakan fungsi khusus.
Sintaksis:
Array array_filter(input array [, panggilan balik panggilan balik])
Fungsi array_filter() mengembalikan array yang berisi nilai-nilai yang ada dalam array input, difilter berdasarkan hasil fungsi panggilan balik pengguna.
Jika larik masukan adalah larik asosiatif, indeksnya dipertahankan dalam larik yang dihasilkan.
Contoh penggunaan fungsi array_filter():
kembali ($var % 2 == 1);
}
fungsi genap($var) (
kembali ($var % 2 == 0);
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Ganjil:n";
print_r(array_filter($array1, "ganjil"));
echo "Genap:n";
t_r(array_filter($array2, "genap"));
?>
Contohnya akan menampilkan yang berikut:
Aneh:Array(
[a] => 1
[c] => 3
[e] => 5
Bahkan:Array(
=> 6
=> 8
=> 10
=> 12
)
Perlu dicatat bahwa alih-alih nama fungsi pemfilteran, Anda dapat menentukan array yang berisi referensi ke objek dan nama metode.
Perlu juga dicatat bahwa ketika memproses array dengan fungsi array_filter(), itu tidak dapat diubah: menambah, menghapus elemen, atau mengatur ulang array, karena ini dapat menyebabkan pengoperasian fungsi yang salah.
Fungsi yang didukung oleh PHP 4 >= 4.0.6, PHP 5
Mari kita lihat cara menulis nilai ke dalam array. Array yang ada dapat dimodifikasi dengan menetapkan nilai secara eksplisit di dalamnya. Ini dilakukan dengan memberikan nilai ke array.
Operasi pemberian nilai pada elemen array sama dengan operasi pemberian nilai pada variabel, kecuali tanda kurung siku () yang ditambahkan setelah nama variabel array. Indeks/kunci elemen ditunjukkan dalam tanda kurung siku. Jika tidak ada indeks/kunci yang ditentukan, PHP secara otomatis akan memilih indeks numerik terkecil yang kosong.
"nol", 1 => "satu");
$arr_saya = "dua";
Untuk mengubah nilai tertentu, Anda cukup menetapkan nilai baru ke elemen yang sudah ada. Untuk menghapus elemen array apa pun dengan indeks/kuncinya atau menghapus seluruh array itu sendiri, gunakan fungsi unset():
Catatan: Seperti disebutkan di atas, jika sebuah elemen ditambahkan ke array tanpa menentukan kunci, PHP secara otomatis akan menggunakan nilai kunci bilangan bulat terbesar sebelumnya ditambah 1. Jika belum ada indeks bilangan bulat dalam array, maka kuncinya akan menjadi 0 (nol).
Perhatikan bahwa nilai integer terbesar dari kunci tersebut belum tentu ada dalam array saat ini, ini mungkin disebabkan oleh penghapusan elemen array. Setelah elemen dihapus, array tidak diindeks ulang. Mari kita ambil contoh berikut agar lebih jelas:
"; print_r($my_arr); // Tambahkan elemen (perhatikan bahwa kunci baru akan menjadi 3, bukan 0). $my_arr = 6; echo "
"; print_r($my_arr); // Lakukan pengindeksan ulang: $my_arr = array_values($my_arr); $my_arr = 7; echo "
"; print_r($arr_saya); ?>
Contoh ini menggunakan dua fungsi baru, print_r() dan array_values(). Fungsi array_values() mengembalikan array yang diindeks (mengindeks ulang array yang dikembalikan dengan indeks numerik), dan fungsi print_r berfungsi seperti var_dump tetapi menghasilkan array dalam bentuk yang lebih mudah dibaca.
Sekarang kita bisa melihat cara ketiga untuk membuat array:
Contoh tersebut menunjukkan cara ketiga untuk membuat array. Jika array $weekdays belum dibuat, maka array tersebut akan dibuat. Namun, jenis pembuatan array ini tidak disarankan karena jika variabel $weekdays telah dibuat dan berisi nilai, hal ini dapat menyebabkan hasil yang tidak diharapkan dari skrip.
Jika Anda ragu apakah suatu variabel merupakan array, gunakan fungsi is_array. Misalnya, pemeriksaan dapat dilakukan sebagai berikut:
"; $no = "string biasa"; echo is_array($no) ? "Array" : "Bukan array"; ?>
Ada banyak fungsi dan operator untuk mengkonversi array di PHP: Kumpulan fungsi untuk bekerja dengan array
Ada beberapa cara untuk menambahkan array ke dalam array menggunakan PHP dan semuanya dapat berguna untuk kasus tertentu.
"Operator +"
Ini adalah cara yang sederhana namun berbahaya:
$c = $a + $b
Dengan cara ini, hanya kunci-kunci yang ditambahkan yang belum ada dalam array $a. Dalam hal ini, elemen ditambahkan ke akhir array.
Artinya, jika kunci dari array $b tidak ada dalam array $a, maka elemen dengan kunci ini akan ditambahkan ke array yang dihasilkan.
Jika array $a sudah berisi elemen dengan kunci tersebut, maka nilainya tidak akan berubah.
Dengan kata lain, mengubah tempat suku akan mengubah jumlah: $a + $b != $b + $a - ini perlu diingat.
Sekarang, inilah contoh yang lebih rinci untuk menggambarkan hal ini:
$arr1 = ["a" => 1, "b" => 2]; $arr2 = ["b" => 3, "c" => 4]; var_export($arr1 + $arr2); //array (// "a" => 1, // "b" => 2, // "c" => 4, //) var_export($arr2 + $arr1); //array (// "b" => 3, // "c" => 4, // "a" => 1, //)
fungsi array_merge()
Anda dapat menggunakan fungsi ini sebagai berikut:
$hasil = array_merge($arr1, $arr2)
Ini mengatur ulang indeks numerik dan menggantikan indeks string. Cocok untuk menggabungkan dua atau lebih array dengan indeks numerik:
Jika array masukan memiliki kunci string yang sama, maka setiap nilai berikutnya akan menggantikan nilai sebelumnya. Namun, jika array memiliki kunci numerik yang sama, nilai yang disebutkan terakhir tidak akan menggantikan nilai aslinya, tetapi akan ditambahkan ke akhir array.
fungsi array_merge_recursive
Melakukan hal yang sama seperti array_merge kecuali ia melewati setiap cabang array secara rekursif dan melakukan hal yang sama pada turunannya.
fungsi array_replace()
Menggantikan elemen array dengan elemen array lain yang diteruskan.
fungsi array_replace_recursive()
Sama seperti array_replace tetapi memproses semua cabang array.