Ia adalah masalah biasa dalam PHP untuk menentukan sama ada rentetan sudah wujud dalam tatasusunan Dalam pembangunan sebenar, anda mungkin menghadapi keperluan untuk menentukan sama ada rentetan telah disimpan dalam tatasusunan untuk mengelakkan data pengulangan.
Artikel ini akan memperkenalkan cara untuk menentukan sama ada rentetan sudah wujud dalam tatasusunan dalam PHP.
PHP menyediakan fungsi in_array(), yang boleh digunakan untuk menentukan sama ada nilai yang ditentukan sudah wujud dalam tatasusunan.
Prototaip fungsi adalah seperti berikut:
in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) : bool
Antaranya, parameter $needle ialah nilai yang akan ditemui, parameter $haystack ialah tatasusunan yang hendak dicari dan $ parameter ketat menunjukkan sama ada untuk menggunakan mod ketat Dalam mod ketat, selain jenis padanan, nilai juga mesti dipadankan.
Berikut ialah contoh menggunakan fungsi in_array():
<?php $arr = array("apple", "banana", "orange"); if (in_array("apple", $arr)) { echo "字符串存在于数组中"; } else { echo "字符串不存在于数组中"; } ?>
Dalam contoh di atas, $arr ialah tatasusunan yang mengandungi tiga rentetan "epal", "pisang", "oren". Kami menggunakan fungsi in_array() untuk menentukan sama ada rentetan "epal" berada dalam tatasusunan $arr Jika ia wujud, ia akan mengeluarkan "rentetan wujud dalam tatasusunan", jika tidak, ia akan mengeluarkan "rentetan tidak wujud dalam tatasusunan. tatasusunan".
PHP juga menyediakan fungsi array_search() untuk mencari nilai yang diberikan dalam tatasusunan dan mengembalikan nama kunci yang sepadan.
Prototaip fungsi adalah seperti berikut:
array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed
Antaranya, parameter $needle ialah nilai yang akan ditemui, parameter $haystack ialah tatasusunan yang hendak dicari dan $ parameter ketat menunjukkan sama ada untuk menggunakan mod ketat Dalam mod ketat, selain jenis padanan, nilai juga mesti dipadankan.
Berikut ialah contoh menggunakan fungsi array_search():
<?php $arr = array("apple", "banana", "orange"); if (array_search("apple", $arr) !== false) { echo "字符串存在于数组中"; } else { echo "字符串不存在于数组中"; } ?>
Dalam contoh di atas, $arr ialah tatasusunan, yang mengandungi tiga rentetan "epal", "pisang ", "oren". Kami menggunakan fungsi array_search() untuk menentukan sama ada rentetan "epal" berada dalam tatasusunan $arr Jika ia wujud, ia akan mengeluarkan "Rentetan wujud dalam tatasusunan", jika tidak, ia akan mengeluarkan "Rentetan tidak wujud dalam. tatasusunan". Perlu diingat bahawa oleh kerana fungsi array_search() mungkin mengembalikan 0, kita perlu menggunakan operator !== untuk perbandingan yang ketat.
Selain fungsi in_array() dan fungsi array_search(), anda juga boleh menggunakan fungsi in_array() dan array_map( ) berfungsi untuk menentukan sama ada rentetan sudah wujud dalam tatasusunan.
<?php $arr = array("apple", "banana", "orange"); function exists_in_array($str, $arr) { return in_array($str, $arr); } if (in_array("apple", array_map("exists_in_array", "apple", $arr))) { echo "字符串存在于数组中"; } else { echo "字符串不存在于数组中"; } ?>
Dalam contoh di atas, kami mentakrifkan fungsi yang dinamakan exists_in_array(). Kami kemudian menggunakan fungsi array_map() untuk menghantar setiap elemen dalam array $arr sebagai argumen kedua kepada fungsi exists_in_array() dan lulus aksara "apple" sebagai argumen pertama kepada fungsi exists_in_array(). Akhir sekali, kami menyerahkan hasil yang dikembalikan kepada fungsi in_array() untuk menentukan sama ada rentetan "epal" berada dalam tatasusunan $arr Jika ia wujud, ia mengeluarkan "Rentetan wujud dalam tatasusunan", jika tidak, ia mengeluarkan "Rentetan itu ada tidak wujud dalam tatasusunan." tengah".
Kesimpulan
Artikel ini memperkenalkan tiga kaedah dalam PHP tentang cara menentukan sama ada rentetan sudah wujud dalam tatasusunan, iaitu menggunakan fungsi in_array(), array_search() dan fungsi in_array() dan gabungan fungsi array_map(). Menggunakan kaedah ini dengan berkesan boleh mengelakkan pertindihan data dan meningkatkan prestasi program.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada rentetan sudah wujud dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!