Rumah >pembangunan bahagian belakang >masalah PHP >PHP menanyakan sama ada data tertentu berada dalam tatasusunan
Dalam pembangunan PHP, banyak kali kita perlu melakukan operasi tertentu pada tatasusunan, dan salah satu keperluan biasa ialah bertanya sama ada data tertentu berada dalam tatasusunan. Terdapat banyak cara untuk mencapai keperluan ini Di bawah kami akan memperkenalkan beberapa kaedah biasa secara terperinci.
PHP menyediakan in_array() fungsi, yang fungsinya adalah untuk menentukan sama ada nilai wujud dalam tatasusunan. Cara untuk menggunakan fungsi ini ialah:
bool in_array(mixed $needle, array $haystack [, bool $strict = false ])
di mana $needle mewakili nilai yang akan ditemui, $ tumpukan jerami mewakili Tatasusunan untuk mencari dalam, $strict menunjukkan sama ada pemeriksaan jenis dihidupkan.
Contohnya:
$example = array('a', 'b', 'c'); if (in_array('a', $example)) { echo "存在"; } else { echo "不存在"; }
Dalam contoh di atas, fungsi akan kembali benar kerana nilai 'a' wujud dalam array $example. Jika kita menukar nilai yang kita cari kepada 'd', fungsi itu akan kembali palsu.
Selain fungsi in_array(), PHP juga menyediakan fungsi array_search(), yang digunakan untuk mencari dalam nilai array A dan mengembalikan nama kuncinya. Jika nilai tidak wujud dalam tatasusunan, mengembalikan palsu.
Penggunaan fungsi ini ialah:
carian_tatasusunan bercampur($jarum bercampur, tatasusunan $timbunan jerami [, bool $strict = false])
Contohnya:
$example = array('a' => 1, 'b' => 2, 'c' => 3); $key = array_search(2, $example); if ($key !== false) { echo '存在,对应的键名为:' . $key; } else { echo '不存在'; }
Dalam contoh di atas, fungsi akan mengembalikan "Wujud, nama kunci yang sepadan ialah: b", kerana nilai 2 wujud dalam tatasusunan, dan nama kunci yang sepadan ialah b. Jika nilai yang kita cari ialah 4, fungsi itu mengembalikan palsu.
Perlu diambil perhatian bahawa apabila menggunakan fungsi array_search(), anda perlu berhati-hati apabila nama kunci ialah 0. Kerana apabila nilai yang akan ditemui ialah 0, fungsi akan menganggap nilai dengan nama kunci 0 seolah-olah ia tidak wujud. Jika anda ingin menyelesaikan masalah ini, anda boleh menghidupkan pemeriksaan jenis dalam parameter ketiga.
Kadang-kadang apabila kita perlu mencari nilai dalam tatasusunan, kita juga perlu mengetahui nama kunci sepadan dengan nilai. Pada masa ini, anda boleh menggunakan fungsi in_array() digabungkan dengan nama kunci tatasusunan untuk mencari.
Kaedah pelaksanaan khusus ialah menambah nama kunci pada tatasusunan, dan kemudian gunakan fungsi in_array() untuk mencari:
$example = array('a' => 1, 'b' => 2, 'c' => 3); if (in_array(2, $example, true)) { $key = array_search(2, $example, true); echo '存在,对应的键名为:' . $key; } else { echo '不存在'; }
Dalam contoh di atas, kami menukar tatasusunan indeks asal menjadi tatasusunan bersekutu, supaya kita boleh Cari nilai yang sepadan melalui nama kunci tatasusunan.
Ringkasan
Tiga kaedah di atas semuanya boleh digunakan untuk bertanya sama ada data tertentu berada dalam tatasusunan dalam PHP Penggunaan khusus bergantung pada keperluan sebenar. Perlu diingatkan bahawa dalam pembangunan sebenar, struktur tatasusunan yang berbeza boleh diproses dengan cara yang berbeza. Selain itu, jika anda perlu melakukan operasi pertanyaan yang kerap, anda boleh menukar tatasusunan kepada tatasusunan bersekutu, yang menjadikan operasi carian lebih mudah.
Atas ialah kandungan terperinci PHP menanyakan sama ada data tertentu berada dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!