Rumah > pembangunan bahagian belakang > masalah PHP > php mengesan sama ada terdapat array

php mengesan sama ada terdapat array

WBOY
Lepaskan: 2023-05-06 09:30:11
asal
941 orang telah melayarinya

Sebagai pembangun, kami selalunya perlu mengendalikan dan memanipulasi tatasusunan. Dalam PHP, menentukan sama ada nilai tertentu wujud dalam tatasusunan ialah tugas yang kerap berlaku.

Dalam PHP, terdapat beberapa cara untuk menyemak sama ada tatasusunan mengandungi nilai tertentu. Artikel ini akan memperkenalkan beberapa kaedah yang biasa digunakan.

1. fungsi in_array()
in_array() ialah salah satu fungsi terbina dalam PHP, digunakan untuk menyemak sama ada nilai wujud dalam tatasusunan. Sintaksnya adalah seperti berikut:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Fungsi ini mempunyai tiga parameter, iaitu nilai untuk dapat dijumpai (jarum ), tatasusunan untuk ditemui (timbunan jerami), dan parameter jenis bool pilihan yang ketat. Antaranya, jarum dan tumpukan jerami mesti dimasukkan, dan nilai lalai strict adalah palsu.

Jika jarum nilai untuk ditemui berada dalam timbunan jerami tatasusunan untuk ditemui, kembalikan benar jika tidak, kembalikan palsu. Berikut ialah contoh:

$fruits = array("epal", "pisang", "oren");
if (in_array("epal", $fruits)) {

echo "找到了 apple!";
Salin selepas log masuk

}

Dalam contoh di atas, $fruits ialah tatasusunan yang mengandungi beberapa nama buah dan fungsi in_array() menyemak sama ada ia mengandungi rentetan "epal". Kerana tatasusunan memang mengandungi "epal", outputnya ialah "Apple dijumpai!".

2. Fungsi array_search()
array_search() adalah serupa dengan in_array(), dan juga digunakan untuk mencari sama ada nilai berada dalam tatasusunan. Perbezaannya ialah ia mengembalikan nama kunci yang ditemui (kunci) dan bukannya mengembalikan hasil jenis bool. Sintaksnya adalah seperti berikut:

carian_tatasusunan bercampur ( $needle bercampur , tatasusunan $timbunan jerami [, bool $strict = false ] )

Fungsi ini mempunyai tiga parameter, di mana jarum ialah nilai yang akan didapati, tumpukan jerami ialah tatasusunan yang akan dicari, dan parameter yang ketat ialah sama ada untuk membolehkan perbandingan ketat jenis.

Jika jarum nilai untuk ditemui wujud dalam timbunan jerami tatasusunan untuk ditemui, kembalikan nama kunci yang sepadan dengan nilai jika tidak, kembalikan palsu. Berikut ialah contoh:

$casual_fruits = array("apple", "banana", "oren");
$key = array_search("banana", $casual_fruits);
if ( $key) {

echo "banana 在数组中的键名是 " . $key;
Salin selepas log masuk

}

Dalam contoh di atas, tatasusunan $casual_fruits mengandungi beberapa nama buah eksotik dan fungsi array_search() mencari sama ada ia mengandungi nilai "banana" , mengembalikan "1" selepas menemuinya, dan mengeluarkan "nama kunci pisang dalam tatasusunan ialah 1" melalui gema.

3. Perbezaan antara fungsi in_array() dan array_search()
Walaupun fungsi in_array() dan array_search() kedua-duanya digunakan untuk mencari sama ada array mengandungi nilai tertentu, nilai pulangannya adalah ​​berbeza. Senario yang digunakan juga berbeza.

in_array() mengembalikan nilai jenis bool, yang biasanya digunakan untuk menentukan sama ada nilai wujud tanpa mengetahui kedudukannya dalam tatasusunan. Array_search() mengembalikan nama kunci, yang biasanya digunakan untuk menyemak sama ada nilai wujud dan perlu mengetahui kedudukannya dalam tatasusunan.

Jika anda hanya berminat dengan kewujudan hasilnya, gunakan fungsi in_array() jika anda perlu mendapatkan kedudukan nilai dalam array, gunakan fungsi array_search().

4. fungsi array_key_exists()
Selain menyemak sama ada nilai wujud dalam tatasusunan, kadangkala kita juga perlu menyemak sama ada nama kunci tertentu wujud. Pada masa ini, anda perlu menggunakan fungsi PHP terbina dalam array_key_exists(). Sintaksnya adalah seperti berikut:

bool array_key_exists ( mixed $key , array $array )

Fungsi ini mempunyai dua parameter, di mana parameter kunci ialah nama kunci yang akan ditemui dan tatasusunan parameter adalah kunci untuk ditemui.

Mengembalikan benar jika kunci wujud dalam tatasusunan, palsu sebaliknya. Berikut ialah contoh:

$arr = array("a" => "apple", "b" => "banana");
if (array_key_exists("a", $arr )) {

echo "键名 a 存在于该数组中。";
Salin selepas log masuk

}

Dalam kod contoh di atas, kami mencipta tatasusunan yang mengandungi beberapa pasangan nilai kunci. Kami menyemak sama ada nama kunci "a" wujud, dan kerana ia wujud, kami mengeluarkan "Nama kunci a wujud dalam tatasusunan ini.".

5. fungsi isset()
Berbeza daripada fungsi array_key_exists(), fungsi isset() bukan sahaja boleh menyemak sama ada nama kunci wujud, tetapi juga menyemak sama ada nilai yang sepadan dengan nama kunci wujud . Sintaksnya adalah seperti berikut:

bool isset ( mixed $var [, mixed $... ] )

Fungsi ini boleh menerima berbilang parameter, setiap satunya boleh menjadi pembolehubah atau Adakah nama kunci tatasusunan. Mengembalikan benar jika parameter wujud dan nilainya bukan NULL, sebaliknya palsu.

Berikut ialah contoh:

$arr = array("a" => "epal", "b" => "pisang");
if (isset( $arr["a"])) {

echo "键名 a 存在于该数组中,并且它的值是 " . $arr["a"];
Salin selepas log masuk

}

Dalam kod contoh di atas, kami menyemak nama kunci "a" menggunakan fungsi isset(), jika nama kunci wujud , kemudian keluarkan nilai yang sepadan dengan nama kunci.

Ringkasan
Untuk menyemak sama ada tatasusunan mengandungi nilai tertentu dalam PHP, kita boleh menggunakan fungsi in_array(), array_search(), array_key_exists() dan isset(). Antaranya, in_array() dan array_search() digunakan terutamanya untuk menyemak sama ada nilai itu wujud, manakala fungsi array_key_exists() dan isset() digunakan terutamanya untuk menyemak sama ada nama kunci wujud.

Jika kita hanya perlu menyemak sama ada nilai wujud dalam tatasusunan, gunakan fungsi in_array(). Jika kita perlu mendapatkan nama kunci sesuatu nilai dalam tatasusunan, kita boleh menggunakan array_search(). Jika kita perlu menentukan sama ada nama kunci wujud dalam tatasusunan, gunakan fungsi array_key_exists() jika kita perlu menentukan sama ada nama kunci dan nilai yang sepadan wujud pada masa yang sama, kita boleh menggunakan fungsi isset().

Atas ialah kandungan terperinci php mengesan sama ada terdapat array. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan