Dalam PHP, fungsi in_array() ialah fungsi yang sangat biasa digunakan, yang boleh menentukan sama ada nilai wujud dalam tatasusunan. Dalam artikel ini, kami akan menyediakan analisis mendalam tentang fungsi in_array().
Sintaks fungsi in_array() adalah seperti berikut:
bool in_array(mixed $needle, array $haystack[, bool $strict = FALSE])
di mana $needle ialah Nilai untuk diambil, $haystack ialah tatasusunan sasaran, $strict menunjukkan sama ada untuk menggunakan mod ketat (iaitu, sama ada untuk mempertimbangkan jenis), lalai adalah FALSE.
Seterusnya, mari kita lihat contoh:
$fruits = array("apple", "banana", "orange"); if (in_array("apple", $fruits)) { echo "有苹果哦!"; }
Keluaran kod ini ialah "Ada epal!" kerana "epal" wujud dalam tatasusunan $fruits.
Seterusnya, mari lihat beberapa situasi yang berbeza.
Kes 1: Untuk jenis nilai mudah, fungsi in_array() menggunakan mod santai secara lalai, iaitu jenis tidak dipertimbangkan. Contohnya:
$numbers = array(1, 2, 3, 4, 5); if (in_array("2", $numbers)) { // 注意,这里的 2 是一个字符串 echo "2 存在于数组中"; }
Hasil keluaran kod ini juga akan menjadi "2 wujud dalam tatasusunan", walaupun "2" ialah rentetan, ia boleh dipadankan dengan jayanya.
Untuk menggunakan mod ketat, tetapkan parameter ketiga kepada BENAR. Contohnya:
$numbers = array(1, 2, 3, 4, 5); if (in_array("2", $numbers, TRUE)) { echo "2 存在于数组中"; } else { echo "2 不是数组的元素"; }
Output kod ini ialah "2 bukan elemen tatasusunan" kerana dalam mod ketat, "2" dan 2 adalah jenis yang berbeza dan tidak boleh dipadankan dengan jayanya.
Kes 2: Untuk nilai jenis komposit (contohnya, tatasusunan), fungsi in_array() juga menggunakan mod santai secara lalai, iaitu, selagi salah satu elemen berjaya dipadankan, keseluruhan nilai akan dianggap sebagai perlawanan yang berjaya. Contohnya:
$person1 = array("name" => "John", "age" => 30); $person2 = array("name" => "Mary", "age" => 25); $people = array($person1, $person2); if (in_array(array("name" => "John"), $people)) { echo "有一个人叫 John!"; }
Keluaran kod ini ialah "Ada orang bernama John kerana elemen "nama" $person1 berjaya dipadankan.
Kes 3: Apabila nilai dalam tatasusunan sasaran ialah NULL, fungsi in_array() tidak menganggap bahawa nilai itu tidak wujud. Contohnya:
$values = array("a", "b", NULL); if (in_array(NULL, $values)) { echo "NULL 存在于数组中"; }
Output kod ini ialah "NULL wujud dalam tatasusunan".
Ringkasnya, fungsi in_array() ialah fungsi yang sangat praktikal dan digunakan secara meluas. Apabila anda perlu menentukan sama ada nilai wujud dalam tatasusunan semasa pembangunan, anda boleh memberi keutamaan untuk menggunakan fungsi ini. Pada masa yang sama, berhati-hati untuk menggunakan mod ketat untuk mengelakkan masalah tidak sepadan jenis.
Atas ialah kandungan terperinci Analisis fungsi biasa PHP: in_array(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!