Rumah >pembangunan bahagian belakang >masalah PHP >Adakah rentetan php dalam tatasusunan?
PHP ialah bahasa pengaturcaraan sebelah pelayan Ia mempunyai perpustakaan fungsi yang sangat kaya dan fungsi terbina dalam, termasuk banyak fungsi yang berkaitan dengan rentetan dan tatasusunan. Dalam PHP, menggunakan tatasusunan untuk penyimpanan dan pemprosesan data adalah operasi yang sangat biasa, dan mencari sama ada rentetan tertentu wujud dalam tatasusunan juga merupakan keperluan biasa.
Terdapat banyak cara untuk menentukan sama ada rentetan wujud dalam tatasusunan Kita boleh menggunakan gelung untuk merentasi tatasusunan, atau kita boleh menggunakan fungsi terbina dalam PHP di bawah kami akan memperkenalkan secara terperinci beberapa cara untuk menentukan sama ada rentetan dalam kaedah tatasusunan.
Kaedah 1: Gunakan fungsi in_array() untuk menentukan
PHP menyediakan fungsi in_array(), yang boleh menentukan dengan cepat sama ada nilai wujud dalam tatasusunan. Penggunaan asas fungsi in_array() adalah seperti berikut:
in_array($needle, $haystack);
di mana $needle
ialah nilai untuk ditemui dan $haystack
ialah tatasusunan untuk ditemui. Fungsi ini mengembalikan nilai Boolean, true
jika elemen yang ditentukan ditemui, jika tidak false
.
Contohnya:
$names = ['Alice', 'Bob', 'Charlie']; var_dump(in_array('Charlie', $names)); // 输出 true var_dump(in_array('David', $names)); // 输出 false
Dalam kod di atas, kami mentakrifkan tatasusunan $names
, dan kemudian gunakan fungsi in_array() untuk mencari dua nilai 'Charlie'
dan 'David'
, dan hasilnya masing-masing Dikembalikan true
dan false
.
Apabila menggunakan fungsi in_array() untuk menentukan sama ada rentetan berada dalam tatasusunan, anda perlu memberi perhatian kepada isu berikut:
array_search($needle, $haystack);di mana
ialah nilai untuk ditemui dan $needle
ialah tatasusunan untuk ditemui. Jika elemen yang ditentukan ditemui, fungsi akan mengembalikan nama kunci elemen dalam tatasusunan (iaitu subskrip tatasusunan yang sepadan dengan elemen), jika tidak, ia akan mengembalikan $haystack
. false
$names = ['Alice', 'Bob', 'Charlie']; echo array_search('Charlie', $names); // 输出 2 echo array_search('David', $names); // 输出 ''Dalam kod di atas, kami mentakrifkan tatasusunan
, dan kemudian gunakan fungsi array_search() untuk mencari dua nilai $names
dan 'Charlie'
, dan hasilnya masing-masing Dikembalikan 'David'
dan 2
. Ambil perhatian bahawa mencari ''
mengembalikan rentetan kosong dan bukannya 'David'
. false
array_key_exists($key, $array);di mana
ialah nama kunci untuk dicari dan $key
ialah tatasusunan yang hendak dicari. Jika nama kunci yang ditentukan ditemui, fungsi mengembalikan $array
, jika tidak ia mengembalikan true
. false
$ages = ['Alice' => 18, 'Bob' => 21, 'Charlie' => 24]; var_dump(array_key_exists('Alice', $ages)); // 输出 true var_dump(array_key_exists('David', $ages)); // 输出 falseDalam kod di atas, kami mentakrifkan tatasusunan bersekutu
, dan kemudian gunakan fungsi array_key_exists() untuk mencari dua nama kunci $ages
dan 'Alice'
. Hasilnya kembali 'David'
dan true
masing-masing. false
isset($array[$key]);di mana
ialah tatasusunan untuk ditemui dan $array
ialah nama kunci yang akan dipadankan. Jika nama kunci boleh dipadankan, fungsi isset() mengembalikan $key
, jika tidak ia mengembalikan true
. false
$settings = ['debug' => true, 'auth' => false, 'port' => 80]; var_dump(isset($settings['debug'])); // 输出 true var_dump(isset($settings['logging'])); // 输出 falseDalam kod di atas, kami mentakrifkan tatasusunan bersekutu
, dan kemudian gunakan fungsi isset() untuk mencari dua nama kunci $settings
dan 'debug'
, Hasilnya kembali 'logging'
dan true
masing-masing. false
Atas ialah kandungan terperinci Adakah rentetan php dalam tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!