Apabila pengaturcaraan dalam PHP, menggunakan fungsi terbina dalam boleh menjadikan kod lebih ringkas dan lebih cekap. Antaranya, fungsi in_array() ialah fungsi yang sangat praktikal yang boleh digunakan untuk menentukan sama ada nilai tertentu muncul dalam tatasusunan.
in_array() ialah fungsi terbina dalam PHP yang digunakan untuk menentukan sama ada nilai tertentu wujud dalam tatasusunan. Penggunaan asasnya adalah mudah: in_array($value, $array)
, dengan $value
ialah nilai untuk dicari dan $array
ialah tatasusunan untuk dicari. Fungsi mengembalikan benar atau salah.
Andaikan kita mempunyai tatasusunan $fruits
yang mengandungi nama beberapa buah:
$fruits = array("apple", "banana", "mango", "kiwi", "orange");
Sekarang kita ingin menyemak sama ada tiga nilai berbeza dalam tatasusunan ini:
$value1 = "banana"; $value2 = "grape"; $value3 = "orange";
Kita boleh menggunakan fungsi in_array() masing-masing:
if (in_array($value1, $fruits)) { echo "$value1 是一个水果."; } else { echo "$value1 不是一个水果."; } if (in_array($value2, $fruits)) { echo "$value2 是一个水果."; } else { echo "$value2 不是一个水果."; } if (in_array($value3, $fruits)) { echo "$value3 是一个水果."; } else { echo "$value3 不是一个水果."; }
Selepas melaksanakan kod ini, kami akan mendapat keputusan berikut:
banana 是一个水果. grape 不是一个水果. orange 是一个水果.
Kod ini mula-mula disemak menggunakan fungsi in_array()$value1
Sama ada dalam tatasusunan $fruits
. Memandangkan "pisang" muncul dalam tatasusunan, syaratnya adalah benar dan "pisang ialah buah." Dua syarat seterusnya menyemak sama ada $value2
dan $value3
muncul dalam tatasusunan $fruits
Memandangkan "anggur" tiada dalam tatasusunan, outputnya ialah "anggur bukan buah."; array, jadi output "Oren ialah buah.".
Kita juga boleh menggunakan tatasusunan untuk menyemak sama ada berbilang nilai dalam tatasusunan $fruits
:
$values = array("banana", "grape", "orange", "peach"); foreach ($values as $value) { if (in_array($value, $fruits)) { echo "$value 是一个水果. "; } else { echo "$value 不是一个水果. "; } }
Hasil keluarannya ialah:
banana 是一个水果. grape 不是一个水果. orange 是一个水果. peach 不是一个水果.
in_array() Parameter ketiga fungsi ialah nilai Boolean yang digunakan untuk mengawal sama ada perbandingan jenis didayakan. Secara lalai, ia adalah palsu (tidak didayakan), jadi in_array() hanya membandingkan nilai dan bukan jenis.
$haystack = array(1, "1", "2"); if (in_array("1", $haystack)) { echo "'1' 存在于 haystack 数组中 "; // 打印 } if (in_array("1", $haystack, true)) { echo "'1' 存在于 haystack 数组中 "; // 不打印,因为类型不匹配 }
Hasil output ialah:
'1' 存在于 haystack 数组中
Ungkapan in_array() kedua mendayakan parameter ketiga true
, yang bermaksud membandingkan nilai dan jenis. Memandangkan hanya terdapat satu nilai dalam tatasusunan $haystack
iaitu nombor 1, dan kami sedang mencari rentetan "1", syarat kedua tidak akan berlaku.
Fungsi in_array() hanya boleh mencari nilai kunci, tetapi terdapat juga array_key_exists() fungsi dalam PHP yang boleh mencari sama ada nama kunci berada dalam tatasusunan muncul.
$array = array("a" => "apple", "b" => "banana", "c" => "orange"); if (array_key_exists("a", $array)) { echo "数组中存在 'a' 键 "; } else { echo "数组中没有 'a' 键 "; } if (array_key_exists("d", $array)) { echo "数组中存在 'd' 键 "; } else { echo "数组中没有 'd' 键 "; }
Hasil output ialah:
数组中存在 'a' 键 数组中没有 'd' 键
in_array() fungsi ialah fungsi yang sangat biasa digunakan dalam pengaturcaraan PHP, digunakan untuk menyemak sama ada nilai muncul dalam tatasusunan lulus. Penggunaan asasnya sangat mudah, hanya masukkan nilai dan tatasusunan yang anda ingin cari. Untuk situasi di mana anda perlu menyemak sama ada nama kunci wujud, anda perlu menggunakan fungsi array_key_exists().
Atas ialah kandungan terperinci Primer fungsi PHP: in_array(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!