Rumah > Artikel > pembangunan bahagian belakang > PHP menentukan sama ada rentetan terkandung dalam tatasusunan
Dalam pembangunan PHP, kadangkala kita perlu menentukan sama ada rentetan mengandungi elemen dalam tatasusunan. Ini sangat membantu untuk pemprosesan dan manipulasi data, kerana ia secara berkesan dan cepat menentukan sama ada data memenuhi kriteria. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menentukan sama ada rentetan mengandungi elemen dalam tatasusunan.
1 Gunakan fungsi in_array()
PHP menyediakan fungsi in_array() untuk menentukan sama ada sesuatu nilai berada dalam tatasusunan. Jadi kita boleh menggunakan fungsi in_array() untuk menentukan sama ada rentetan berada dalam tatasusunan. Sintaksnya adalah seperti berikut:
bool in_array(mixed $needle, array $hystack [, bool $strict = FALSE ])
di mana $needle ialah nilai yang akan ditemui; tatasusunan indeks ;$strict menentukan sama ada untuk menggunakan mod ketat semasa proses carian (iaitu, bukan sahaja nilai mesti sama, tetapi jenis juga mesti sama). Nilai pulangan adalah TRUE menunjukkan bahawa carian telah ditemui, jika tidak palsu dikembalikan.
Kemudian kita hanya perlu menilai sama ada rentetan sasaran dimasukkan dalam tatasusunan melalui gelung. Contoh kod adalah seperti berikut:
$arr = array('apple', 'orange', 'banana', 'pear'); $str = 'I like apples'; foreach ($arr as $val) { if (strpos($str, $val) !== false) { echo "包含$val"; } else { echo "不包含$val"; } }
Kod ini mula-mula mentakrifkan tatasusunan $arr dan rentetan $str. Kemudian, melalui gelung, ia ditentukan sama ada setiap elemen dalam tatasusunan muncul dalam rentetan. Jika ia disertakan, keluarkan maklumat yang sepadan, jika tidak keluarkan maklumat yang tidak disertakan.
2. Gunakan fungsi preg_match()
Jika anda ingin melaksanakan operasi pemadanan rentetan yang lebih kompleks, anda perlu menggunakan ungkapan biasa. Dalam PHP, kita boleh menggunakan fungsi preg_match() untuk memadankan sama ada rentetan sepadan dengan peraturan tertentu. Sintaks fungsi ini adalah seperti berikut:
int preg_match(string $pattern, string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]])
Antaranya, $pattern mewakili ungkapan biasa yang digunakan untuk pemadanan; $subjek mewakili rentetan yang perlu dipadankan ialah parameter pilihan yang digunakan untuk menyimpan hasil padanan, seperti sama ada ia adalah sensitif huruf besar-besaran, dsb. ;$offset mewakili offset di mana perlawanan bermula.
Berikut ialah contoh kod:
$arr = array('/apple/', '/orange/', '/banana/', '/pear/'); $str = 'I like apples'; foreach ($arr as $val) { if (preg_match($val, $str)) { echo "包含$val"; } else { echo "不包含$val"; } }
Kod ini mempunyai fungsi yang serupa dengan kod sebelumnya, kecuali ia menggunakan ungkapan biasa untuk operasi pemadanan. Perlu diingatkan bahawa garis miring (/) diperlukan dalam ungkapan biasa untuk menunjukkan permulaan dan akhir.
Ringkasan:
Artikel ini memperkenalkan dua kaedah untuk menentukan sama ada rentetan mengandungi elemen dalam tatasusunan. Fungsi in_array() sesuai untuk padanan rentetan ringkas, manakala fungsi preg_match() boleh melaksanakan padanan berbilang corak yang lebih kompleks. Dalam proses pembangunan sebenar, anda boleh memilih kaedah yang sepadan untuk melaksanakan operasi pemadanan rentetan mengikut keperluan khusus.
Atas ialah kandungan terperinci PHP menentukan sama ada rentetan terkandung dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!