Dalam pembangunan PHP, kita selalunya perlu menentukan sama ada tatasusunan mengandungi rentetan tertentu Artikel ini akan memperkenalkan anda kepada beberapa kaedah untuk mencapai fungsi ini.
Kaedah 1. Gunakan fungsi in_array()
Fungsi in_array() digunakan untuk menentukan sama ada unsur wujud dalam tatasusunan Jika ia wujud, ia mengembalikan Benar, jika tidak ia mengembalikan Salah . Anda boleh menggunakan fungsi ini untuk menentukan sama ada tatasusunan mengandungi rentetan tertentu Kaedah khusus adalah seperti berikut:
<?php $arr = array('apple', 'banana', 'peach', 'watermelon'); $fruit = 'banana'; if (in_array($fruit, $arr)) { echo '数组中包含字符串' . $fruit; } else { echo '数组中不包含字符串' . $fruit; } ?>
Dalam kod di atas, kita mula-mula mentakrifkan tatasusunan $arr, dan kemudian mentakrifkan $fruit. pembolehubah. Selepas itu, kami menggunakan fungsi in_array() untuk menentukan sama ada $fruit wujud dalam tatasusunan. Jika ia wujud, keluarkan 'tatasusunan mengandungi pisang rentetan', sebaliknya keluarkan 'tatasusunan tidak mengandungi pisang rentetan'.
Kaedah 2: Gunakan fungsi array_search()
Fungsi array_search() digunakan untuk mencari nilai dalam tatasusunan dan mengembalikan nama kunci yang sepadan jika ia tidak dijumpai, ia akan kembali palsu . Anda boleh menggunakan fungsi ini untuk menentukan sama ada tatasusunan mengandungi rentetan tertentu Kaedah khusus adalah seperti berikut:
<?php $arr = array('apple', 'banana', 'peach', 'watermelon'); $fruit = 'banana'; $key = array_search($fruit, $arr); if ($key !== False) { echo '数组中包含字符串' . $fruit . ',对应的键名为' . $key; } else { echo '数组中不包含字符串' . $fruit; } ?>
Dalam kod di atas, kami juga mentakrifkan tatasusunan $arr dan pembolehubah $buah, menunjukkan bahawa kita ingin mencari rentetan. Seterusnya, kami menggunakan fungsi array_search() untuk mencari kedudukan $fruit dalam array Jika dijumpai, ia akan mengeluarkan 'tatasusunan mengandungi pisang rentetan, dan nama kunci yang sepadan ialah 1', jika tidak, ia akan mengeluarkan 'tatasusunan. tidak mengandungi tali pisang'.
Perlu diambil perhatian bahawa fungsi array_search() boleh menggunakan mod ketat, iaitu, selain membandingkan nilai, ia juga perlu untuk membandingkan sama ada jenis data adalah sama. Kaedah khusus adalah seperti berikut:
<?php $arr = array(0 => 'apple', '1' => 'banana', '2' => 'peach', '3' => 'watermelon'); $fruit = '1'; $key = array_search($fruit, $arr, True); if ($key !== False) { echo '数组中包含字符串' . $fruit . ',对应的键名为' . $key; } else { echo '数组中不包含字符串' . $fruit; } ?>
Dalam kod di atas, kami mentakrifkan tatasusunan pada baris 3, di mana nama kunci angka adalah semua jenis rentetan. Kami mentakrifkan nilai pembolehubah $fruit sebagai '1' jenis rentetan dan menetapkan pilihan mod ketat kepada Benar. Selepas itu, kami menggunakan fungsi array_search() untuk mencari kedudukan $fruit dalam array dan mengeluarkan hasilnya.
Kaedah 3. Gunakan ungkapan biasa
Ungkapan biasa ialah alat pemadanan teks yang berkuasa. Kita boleh menggunakan ungkapan biasa untuk menentukan sama ada tatasusunan mengandungi rentetan tertentu Kaedah khusus adalah seperti berikut:
<?php $arr = array('apple', 'banana', 'peach', 'watermelon'); $fruit = '/^banana$/'; foreach ($arr as $item) { if (preg_match($fruit, $item)) { echo '数组中包含字符串' . $item; break; } } ?>
Dalam kod di atas, kita mula-mula mentakrifkan tatasusunan $arr dan pembolehubah $fruit. Selepas itu, kami mengulangi setiap elemen dalam tatasusunan dan menggunakan fungsi preg_match() untuk menentukan sama ada elemen semasa memenuhi peraturan padanan ungkapan biasa $fruit. Jika ditemui, keluarkan elemen dan keluar dari gelung, jika tidak, ia akan menggesa tiada rentetan yang sepadan ditemui.
Perlu diambil perhatian bahawa walaupun ungkapan biasa berkuasa, ia mungkin menjejaskan prestasi atur cara dalam beberapa kes, jadi anda perlu berhati-hati apabila menggunakannya.
Ringkasnya, kami telah memperkenalkan tiga kaedah untuk menentukan sama ada tatasusunan mengandungi rentetan tertentu. Dalam perkembangan sebenar, kita boleh memilih kaedah yang sesuai mengikut keperluan kita sendiri.
Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada tatasusunan mengandungi rentetan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!