Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menentukan sama ada rentetan terkandung dalam tatasusunan dalam php
Dalam PHP, kita selalunya perlu menentukan sama ada rentetan terkandung dalam tatasusunan. Masalah ini mungkin sukar untuk pemula, tetapi penyelesaian kepada masalah ini sebenarnya sangat mudah. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah dalam PHP untuk menentukan sama ada rentetan terkandung dalam tatasusunan.
fungsi in_array ialah fungsi dalam PHP yang digunakan untuk menentukan sama ada nilai wujud dalam tatasusunan. Sintaks fungsi ini ialah:
in_array($needle, $haystack, $strict)
di mana $needle mewakili nilai yang akan ditemui, $haystack mewakili array yang akan ditemui, dan $strict mewakili Sama ada hendak menggunakan mod ketat untuk mencari. Jika $strict adalah benar, fungsi in_array juga membandingkan jenis data pembolehubah untuk kesamaan. Nilai pulangan benar menunjukkan bahawa nilai itu ditemui, salah menunjukkan bahawa ia tidak dijumpai.
Berikut ialah contoh mudah:
$arr = array('apple', 'banana', 'orange'); if (in_array('banana', $arr)) { echo 'find it!'; } else { echo 'not found'; }
Hasil yang sedang dijalankan ialah: cari!
array_search Fungsi juga merupakan fungsi yang digunakan untuk mencari nilai yang ditentukan dalam tatasusunan. Sintaks fungsi ini ialah:
array_search($needle, $haystack, $strict)
di mana $needle mewakili nilai yang akan ditemui, $haystack mewakili array yang akan ditemui, dan $strict mewakili Sama ada hendak menggunakan mod ketat untuk mencari. Mengembalikan kedudukan nilai dalam tatasusunan, atau palsu jika tidak dijumpai.
Berikut ialah contoh mudah:
$arr = array('apple', 'banana', 'orange'); $index = array_search('banana', $arr); if ($index !== false) { echo 'find it at index ' . $index; } else { echo 'not found'; }
Hasil yang sedang dijalankan ialah: cari di indeks 1
Perlu diambil perhatian bahawa fungsi array_search mengembalikan nilai dalam Kedudukan dalam tatasusunan, bukan sama ada nilai itu wujud. Oleh itu, anda perlu menggunakan $index !== false untuk menentukan sama ada nilai itu wujud.
Ungkapan biasa ialah alat pemadanan rentetan yang berkuasa, yang juga sering digunakan untuk memproses rentetan dalam PHP. Jika kita ingin menentukan sama ada rentetan terkandung dalam tatasusunan, kita juga boleh menggunakan ungkapan biasa untuk mencapai ini.
Secara khusus, kita boleh memisahkan semua elemen dalam tatasusunan dengan bar menegak (|), menjana ungkapan biasa, dan kemudian menggunakan fungsi preg_match untuk memadankan rentetan.
Berikut ialah contoh mudah:
$arr = array('apple', 'banana', 'orange'); $regex = '/^(?:' . implode('|', $arr) . ')$/'; if (preg_match($regex, 'banana')) { echo 'find it!'; } else { echo 'not found'; }
Dalam kod di atas, fungsi implode digunakan untuk memisahkan semua elemen dalam tatasusunan dengan bar menegak untuk menjana ungkapan biasa. Kami kemudian menggunakan fungsi preg_match untuk memadankan rentetan dan mengembalikan benar jika ditemui, jika tidak palsu.
Perlu diambil perhatian bahawa ungkapan biasa yang kami hasilkan menggunakan pembatas (^ dan $) pada permulaan dan akhir, yang bermaksud bahawa ungkapan biasa hanya boleh memadankan keseluruhan rentetan, bukan dalam bahagian rentetan . Dengan cara ini, apabila mencari sama ada rentetan terkandung dalam tatasusunan, tidak akan ada kes seperti "anggur" disalah anggap sebagai "raspberi".
Kesimpulan
Melalui tiga kaedah di atas, kita boleh menentukan dengan mudah sama ada rentetan terkandung dalam tatasusunan. Menggunakan fungsi in_array dan array_search secara langsung ialah kaedah yang paling mudah, manakala menggunakan ungkapan biasa boleh memenuhi keperluan yang lebih kompleks. Pada masa yang sama, kita juga perlu memberi perhatian kepada kelebihan dan kekurangan pelbagai kaedah dan memilih kaedah yang sesuai dengan kita untuk menyelesaikan masalah.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada rentetan terkandung dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!