Untuk pembangun PHP, tatasusunan sering diperlukan. Tatasusunan disimpan dalam pasangan nilai kunci Apabila jumlah data adalah besar, mencari elemen mungkin memakan masa. PHP mempunyai pelbagai fungsi terbina dalam untuk mencari sama ada nilai yang ditentukan wujud dalam tatasusunan Artikel ini akan memperkenalkan beberapa daripadanya dan perbezaan antaranya. Fungsi
in_array()
ialah salah satu fungsi tatasusunan terbina dalam PHP, yang digunakan untuk mencari nilai yang ditentukan dalam tatasusunan. Sintaksnya adalah seperti berikut:
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Di mana,
Fungsi ini akan mengembalikan nilai Boolean yang menunjukkan sama ada nilai itu dalam tatasusunan. Jika ya, kembalikan benar, sebaliknya pulangkan palsu.
Sebagai contoh, kod berikut menunjukkan cara menggunakan fungsi in_array()
untuk mencari sama ada rentetan "epal" wujud dalam tatasusunan $fruits:
$fruits = array("banana", "orange", "apple", "lemon"); if (in_array("apple", $fruits)) { echo "找到了 apple。"; } else { echo "没有找到 apple。"; }
Hasil output ialah: Fungsi
找到了 apple。
array_search()
juga merupakan salah satu fungsi tatasusunan terbina dalam PHP Ia digunakan untuk mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan kuncinya. Sintaksnya adalah seperti berikut:
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
Di mana,
Fungsi ini akan mengembalikan kunci nilai yang ditemui (menggunakan kekunci angka dan kekunci yang berkaitan), atau palsu jika tidak ditemui.
Sebagai contoh, kod berikut menunjukkan cara menggunakan fungsi array_search()
untuk mencari sama ada rentetan "epal" wujud dalam tatasusunan $fruits dan mengembalikan kuncinya:
$fruits = array("banana", "orange", "apple", "lemon"); $key = array_search("apple", $fruits); if ($key) { echo "找到了 apple,它的键是 " . $key . "。"; } else { echo "没有找到 apple。"; }
Output keputusan Ia adalah:
找到了 apple,它的键是 2。
Perlu diingatkan bahawa jika kunci yang sepadan dengan nilai ialah 0, fungsi array_search()
akan mengembalikan 0, yang boleh menyebabkan masalah dalam program, jadi pertimbangan jenis diperlukan .
isset()
fungsi dan fungsi array_key_exists()
boleh digunakan untuk menentukan sama ada kunci wujud dalam tatasusunan Sintaks adalah seperti berikut:
bool isset ( mixed $var [, mixed $... ] ) bool array_key_exists ( mixed $key , array $array )
Antaranya,
Kedua-dua fungsi akan mengembalikan nilai boolean yang menunjukkan sama ada kunci itu ada dalam tatasusunan.
Perlu diambil perhatian bahawa perbezaan antara kedua-dua fungsi ialah fungsi isset()
juga boleh digunakan untuk menentukan sama ada pembolehubah wujud Jika pembolehubah tidak diisytiharkan, ia akan kembali palsu. Fungsi array_key_exists()
hanya boleh digunakan untuk tatasusunan dan tidak menyokong pencarian tatasusunan berbilang dimensi.
Sebagai contoh, kod berikut menunjukkan cara menggunakan fungsi isset()
dan fungsi array_key_exists()
untuk menentukan sama ada kunci wujud:
$fruits = array("banana" => 2, "orange" => 3, "apple" => 4, "lemon" => 1); if (isset($fruits["banana"])) { echo "存在键 banana。"; } else { echo "不存在键 banana。"; } if (array_key_exists("orange", $fruits)) { echo "存在键 orange。"; } else { echo "不存在键 orange。"; }
Outputnya ialah:
存在键 banana。存在键 orange。
Artikel ini memperkenalkan empat fungsi untuk mencari elemen dalam tatasusunan PHP: in_array()
, array_search()
, isset()
dan array_key_exists()
. Fungsi ini boleh dipilih dan digunakan mengikut keperluan yang berbeza, antaranya fungsi array_search()
mempunyai kelebihan tertentu kerana ia mengembalikan kunci dan bukannya nilai Boolean. Tetapi perlu diingatkan bahawa untuk menentukan sama ada nilai berada dalam tatasusunan, lebih baik menggunakan fungsi in_array()
, kerana jika kuncinya ialah 0, fungsi array_search()
akan mengembalikan 0.
Akhir sekali, perlu dinyatakan bahawa tiada satu pun fungsi di atas sesuai untuk tatasusunan berbilang dimensi Untuk tatasusunan berbilang dimensi, kami perlu menggunakan rekursi atau algoritma lain untuk menyelesaikan operasi carian.
Atas ialah kandungan terperinci Bagaimana untuk mengetahui sama ada rentetan tertentu wujud dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!