Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam php
Dalam pengaturcaraan PHP, adalah keperluan yang sangat biasa untuk menentukan sama ada tatasusunan mengandungi elemen tertentu. Artikel ini akan memperkenalkan pelbagai kaedah penghakiman, serta kelebihan, keburukan dan senario yang boleh digunakan.
Fungsi in_array terbina dalam PHP boleh digunakan untuk menentukan sama ada nilai wujud dalam tatasusunan. Sintaks fungsi ini adalah seperti berikut:
bool in_array (mixed $needle, array $haystack [, bool $strict = FALSE ])
di mana $needle mewakili nilai yang akan ditemui dan $haystack mewakili tatasusunan untuk dicari. Mengembalikan benar jika ditemui, palsu sebaliknya. Parameter ketat menunjukkan sama ada untuk mendayakan semakan jenis Lalai adalah palsu, yang bermaksud hanya menyemak sama ada nilai elemen adalah sama dan tidak menyemak sama ada jenis adalah sama.
Kod sampel:
$fruits = array('apple', 'banana', 'orange'); if (in_array('banana', $fruits)) { echo '数组中包含 banana'; } else { echo '数组中不包含 banana'; }
Kod ini akan mengeluarkan: Tatasusunan mengandungi pisang.
fungsi in_array sesuai untuk mencari elemen dalam tatasusunan biasa.
fungsi array_key_exists boleh digunakan untuk mencari sama ada kunci wujud dalam tatasusunan bersekutu. Sintaksnya adalah seperti berikut:
bool array_key_exists (mixed $key, array $array )
di mana $key mewakili kunci untuk ditemui dan $array mewakili tatasusunan bersekutu untuk dicari. Mengembalikan benar jika ditemui, palsu sebaliknya.
Kod sampel:
$age = array('Peter' => 35, 'John' => 40, 'Mary' => 25); if (array_key_exists('Mary', $age)) { echo '数组中包含键 Mary'; } else { echo '数组中不包含键 Mary'; }
Kod ini akan mengeluarkan: Tatasusunan mengandungi kunci Mary.
fungsi array_key_exists sesuai untuk mencari sama ada kunci wujud dalam tatasusunan bersekutu.
Jika nilai elemen dalam tatasusunan ialah NULL, kedua-dua fungsi in_array dan array_key_exists akan kembali palsu. Pada masa ini, anda boleh menggunakan fungsi isset untuk menilai. Sintaksnya adalah seperti berikut:
bool isset ( mixed $var [, mixed $... ] )
Antaranya, $var mewakili pembolehubah atau elemen tatasusunan untuk dinilai. Mengembalikan benar jika pembolehubah wujud dan bukan NULL, sebaliknya palsu.
Kod sampel:
$person = array('name' => 'Tom', 'age' => 20, 'email' => NULL); if (isset($person['email'])) { echo '数组中包含键 email'; } else { echo '数组中不包含键 email'; }
Kod ini akan mengeluarkan: Tatasusunan mengandungi e-mel utama.
Fungsi isset sesuai untuk menentukan sama ada pembolehubah atau elemen tatasusunan wujud dan bukan NULL.
fungsi array_search boleh mencari nilai dalam tatasusunan dan mengembalikan kunci sepadannya. Sintaksnya adalah seperti berikut:
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
di mana $needle mewakili nilai yang akan ditemui dan $haystack mewakili tatasusunan untuk dicari. Jika carian berjaya, kunci yang sepadan dengan elemen dikembalikan, jika tidak palsu dikembalikan. Parameter yang ketat menunjukkan sama ada untuk mendayakan semakan jenis, dan lalainya adalah palsu.
Kod sampel:
$fruits = array('apple', 'banana', 'orange'); $key = array_search('banana', $fruits); if (false !== $key) { echo '数组中包含 banana,其键为:' . $key; } else { echo '数组中不包含 banana'; }
Kod ini akan mengeluarkan: Tatasusunan mengandungi pisang, dan kuncinya ialah: 1.
Fungsi carian_array sesuai untuk mencari kunci yang sepadan dengan nilai dalam tatasusunan.
Jika fungsi di atas tidak dapat memenuhi keperluan, anda boleh menyesuaikan fungsi penghakiman mengikut situasi sebenar. Sebagai contoh, fungsi berikut digunakan untuk menentukan sama ada tatasusunan mengandungi nilai tertentu:
function in_array_ex($needle, $haystack) { foreach ($haystack as $value) { if ($value === $needle) { return true; } } return false; }
Fungsi ini menggunakan gelung foreach untuk melintasi tatasusunan dan membandingkan satu demi satu sama ada nilai elemen tatasusunan adalah sama dengan nilai yang akan ditemui. Mengembalikan benar jika ditemui, palsu sebaliknya.
Kod sampel:
$fruits = array('apple', 'banana', 'orange'); if (in_array_ex('banana', $fruits)) { echo '数组中包含 banana'; } else { echo '数组中不包含 banana'; }
Kod ini akan mengeluarkan: Tatasusunan mengandungi pisang.
Fungsi tersuai sesuai untuk keperluan pertimbangan khusus dan mempunyai fleksibiliti dan kebolehgunaan yang tinggi.
Ringkasnya, untuk menentukan sama ada tatasusunan mengandungi elemen, anda boleh menggunakan tatasusunan terbina dalam PHP, array_key_exists, isset, fungsi carian_tatasusunan atau anda boleh menyesuaikan fungsi penghakiman mengikut keperluan sebenar. Memilih kaedah pertimbangan yang sesuai untuk senario boleh meningkatkan kecekapan dan kebolehselenggaraan program.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!