Rumah >pembangunan bahagian belakang >masalah PHP >PHP menentukan sama ada data wujud dalam tatasusunan
Dalam PHP, selalunya perlu untuk menentukan sama ada sekeping data wujud dalam tatasusunan. Pada masa ini, anda boleh menggunakan kaedah berikut:
Fungsi in_array ialah fungsi yang biasa digunakan dalam PHP untuk menentukan sama ada data wujud dalam tatasusunan. Prototaip fungsinya ialah :
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Antaranya, parameter jarum menunjukkan nilai yang akan ditemui, tumpukan jerami menunjukkan tatasusunan yang akan ditemui, dan ketat menunjukkan sama ada untuk menggunakan mod ketat untuk perbandingan. Contohnya:
$arr = array(1, 2, 3, 'a', 'b', 'c'); if (in_array(1, $arr)) { echo '存在'; } else { echo '不存在'; }
Dalam kod di atas, takrifkan tatasusunan $arr dahulu, dan kemudian gunakan fungsi in_array untuk menentukan sama ada 1 berada di dalamnya. Oleh kerana 1 sememangnya dalam tatasusunan, output "wujud".
Fungsi carian_tatasusunan ialah satu lagi fungsi yang menentukan sama ada data wujud dalam tatasusunan ialah:
mixed array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Antaranya, parameter jarum Menunjukkan nilai yang akan ditemui, tumpukan jerami menunjukkan tatasusunan yang akan dicari, dan ketat menunjukkan sama ada untuk menggunakan mod ketat untuk perbandingan. Jika ditemui, fungsi mengembalikan nama kunci elemen dalam tatasusunan, jika tidak ia mengembalikan palsu. Contohnya:
$arr = array(1, 2, 3, 'a', 'b', 'c'); $key = array_search('a', $arr); if ($key !== false) { echo '存在于数组中,键名为:' . $key; } else { echo '不存在'; }
Dalam kod di atas, tentukan tatasusunan $arr, dan kemudian gunakan fungsi carian_tatasusunan untuk mencari nilai 'a' dalam tatasusunan Jika ia wujud, kembalikan nama kunci, jika tidak, kembalikan palsu .
Kadangkala kita perlu menyesuaikan fungsi untuk menentukan sama ada data wujud dalam tatasusunan mengikut keperluan yang berbeza. Sebagai contoh, jika kita ingin menentukan sama ada rentetan ialah subrentetan rentetan lain (iaitu, sama ada ia mengandungi), kita boleh menggunakan kod berikut:
function is_substr($str, $substr) { return strpos($str, $substr) !== false; } $str = 'hello world'; $substr = 'world'; if (is_substr($str, $substr)) { echo '包含'; } else { echo '不包含'; }
Dalam kod di atas, fungsi tersuai is_substr ialah ditakrifkan untuk menentukan aksara Sama ada rentetan itu adalah subrentetan daripada rentetan lain, strpos fungsi terbina dalam PHP digunakan. Fungsi ini mengembalikan kedudukan rentetan dalam rentetan lain, atau palsu jika ia tidak wujud. Jika ia dijumpai, iaitu, kedudukan adalah bukan negatif, fungsi mengembalikan benar, jika tidak ia mengembalikan palsu.
Ringkasnya, dalam PHP untuk menentukan sama ada data wujud dalam tatasusunan, fungsi in_array dan array_search adalah yang paling biasa digunakan dan mudah. Jika anda mempunyai keperluan khas, anda boleh menyesuaikan fungsi yang sepadan.
Atas ialah kandungan terperinci PHP menentukan sama ada data wujud dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!