Sama ada rentetan PHP muncul dalam tatasusunan
Dalam PHP, rentetan dan tatasusunan ialah jenis data biasa. Ia selalunya melibatkan pencarian rentetan dalam tatasusunan, yang boleh dicapai menggunakan fungsi terbina dalam PHP. Artikel ini akan memperkenalkan beberapa kaedah yang biasa digunakan untuk menyemak sama ada rentetan muncul dalam tatasusunan.
Kaedah 1: fungsi in_array()
Fungsi in_array() ialah fungsi tatasusunan terbina dalam dalam PHP, digunakan untuk menyemak sama ada nilai yang ditentukan muncul dalam tatasusunan. Fungsi ini mengambil dua parameter: nilai untuk dicari dan tatasusunan untuk dicari.
Contohnya:
$names = array('Tony', 'John', 'David'); if (in_array('Tony', $names)) { echo "Tony is in the array."; } else { echo "Tony is not in the array."; }
Dalam kod di atas, kami mencipta tatasusunan $nama dengan tiga elemen dan menggunakan fungsi in_array() untuk mencari rentetan 'Tony' dalam tatasusunan. Memandangkan 'Tony' muncul dalam tatasusunan, hasil output ialah:
Tony is in the array.
Jika rentetan yang kita cari tiada dalam tatasusunan, hasil output ialah:
Tony is not in the array.
Walaupun dalam_array() Fungsi ini sangat ringkas dan mudah digunakan, tetapi ia hanyalah fungsi Boolean yang hanya boleh memberitahu kami sama ada elemen yang kami cari muncul dalam tatasusunan dan tidak boleh mengembalikan kedudukannya dalam tatasusunan.
Kaedah 2: fungsi array_search()
Fungsi array_search() juga merupakan fungsi tatasusunan terbina dalam dalam PHP, digunakan untuk mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan kunci sepadannya nama.
Contohnya:
$names = array('Tony', 'John', 'David'); $key = array_search('Tony', $names); if ($key !== false) { echo "Tony is in the array, its key is $key."; } else { echo "Tony is not in the array."; }
Dalam kod di atas, kami menggunakan fungsi array_search() untuk mencari rentetan 'Tony' dalam tatasusunan. Memandangkan 'Tony' muncul dalam tatasusunan dan kedudukannya dalam tatasusunan ditentukan sebagai 0, hasil keluaran ialah:
Tony is in the array, its key is 0.
Perlu diingatkan bahawa jika elemen yang hendak ditemui tiada dalam tatasusunan, array_search () Fungsi akan mengembalikan palsu. Oleh itu, kami menggunakan operator !== untuk menentukan sama ada nilai pulangan adalah palsu.
Kaedah 3: Menggunakan gelung foreach
Cara lain untuk mencari kejadian rentetan dalam tatasusunan ialah menggunakan gelung foreach untuk melintasi tatasusunan dan menggunakan fungsi perbandingan rentetan strcmp() untuk bandingkan elemen tatasusunan Adakah ia sama dengan rentetan yang ditemui? Jika sama, kembalikan maklumat kedudukan, jika tidak, teruskan gelung.
Contohnya:
$names = array('Tony', 'John', 'David'); foreach ($names as $key => $value) { if (strcmp($value, 'Tony') == 0) { echo "Tony is in the array, its key is $key."; break; } } if ($key == count($names)) { echo "Tony is not in the array."; }
Dalam kod di atas, kami menggunakan gelung foreach untuk melintasi array $namas, dan menggunakan fungsi strcmp() untuk membandingkan setiap elemen tatasusunan dan rentetan 'Tony ' untuk kesaksamaan. Jika mereka sama, cetak maklumat kedudukan mereka dan gunakan pernyataan putus untuk melompat keluar dari gelung.
Perlu diingat bahawa jika rentetan yang anda cari tiada dalam tatasusunan, anda perlu menggunakan fungsi $count() untuk membandingkan sama ada pembolehubah gelung $kunci dan bilangan elemen tatasusunan adalah sama untuk menentukan sama ada watak telah dicari.
Kesimpulan
Artikel ini memperkenalkan tiga kaedah biasa dalam PHP yang boleh digunakan untuk menyemak sama ada rentetan muncul dalam tatasusunan. Fungsi in_array() sesuai untuk operasi carian mudah, fungsi array_search() membenarkan maklumat kedudukan dikembalikan semasa mencari, dan penggunaan gelung foreach membolehkan penggunaan fungsi perbandingan tersuai. Dalam aplikasi praktikal, kita boleh memilih kaedah yang sesuai untuk melaksanakan operasi carian mengikut keperluan yang berbeza.
Atas ialah kandungan terperinci Adakah rentetan php muncul dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!