Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menentukan sama ada nombor tertentu berada dalam tatasusunan dalam php
Dalam PHP, terdapat banyak kaedah untuk menentukan sama ada nombor dalam tatasusunan Artikel ini akan memperkenalkan kaedah ini secara terperinci, dan juga memperkenalkan beberapa fungsi operasi tatasusunan lain.
in_array() boleh menentukan sama ada nilai berada dalam tatasusunan Sintaksnya adalah seperti berikut:
in_array($value, $array, $strict)
di mana , parameter $value menunjukkan nilai yang akan ditemui, parameter $array menunjukkan tatasusunan yang hendak dicari dan parameter $strict menunjukkan sama ada jenis data benar-benar sepadan, yang boleh ditinggalkan dan lalai kepada palsu. Mengembalikan benar jika nilai ditemui, palsu sebaliknya.
Kod sampel adalah seperti berikut:
$fruits = array("apple", "banana", "orange"); if (in_array("apple", $fruits)) { echo "苹果在数组中存在!"; } else { echo "苹果不在数组中存在!"; }
Hasil output ialah:
苹果在数组中存在!
array_search () fungsi boleh mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan nama kunci yang sepadan, atau mengembalikan palsu jika ia tidak ditemui. Sintaks adalah seperti berikut:
array_search($value, $array, $strict)
Antaranya, parameter $value menunjukkan nilai yang akan ditemui, parameter $array menunjukkan tatasusunan yang hendak dicari dan parameter $strict menunjukkan sama ada jenis data benar-benar sepadan, yang boleh ditinggalkan dan lalai kepada palsu.
Kod sampel adalah seperti berikut:
$fruits = array("apple", "banana", "orange"); $key = array_search("banana", $fruits); if ($key !== false) { echo "香蕉在数组中的键名为:" . $key; } else { echo "香蕉不在数组中存在!"; }
Hasil output ialah:
香蕉在数组中的键名为:1
Jika anda ingin mencari sama ada nilai wujud, anda boleh menggunakannya seperti ini:
$fruits = array("apple", "banana", "orange"); if (array_search("orange", $fruits) !== false) { echo "橘子在数组中存在!"; } else { echo "橘子不在数组中存在!"; }
Hasil output ialah:
橘子在数组中存在!
In sesetengah kes, anda perlu tahu yang tertentu Sama ada nilai itu dalam tatasusunan dan anda perlu tahu nama kuncinya, anda boleh menggabungkan dua fungsi in_array() dan array_search() untuk menilai pada masa yang sama.
Kod sampel adalah seperti berikut:
$fruits = array("apple", "banana", "orange"); if (in_array("banana", $fruits) && ($key = array_search("banana", $fruits)) !== false) { echo "香蕉在数组中的键名为:" . $key; } else { echo "香蕉不在数组中存在!"; }
Hasil output ialah:
香蕉在数组中的键名为:1
fungsi array_key_exists () boleh menentukan sama ada nama kunci yang ditentukan wujud dalam tatasusunannya adalah seperti berikut:
array_key_exists($key, $array)
Antaranya, parameter $key mewakili nama kunci yang akan ditemui. dan parameter $array mewakili tatasusunan yang hendak dicari. Mengembalikan benar jika nama kunci ditemui, palsu sebaliknya.
Kod sampel adalah seperti berikut:
$fruits = array("apple" => 0, "banana" => 1, "orange" => 2); if (array_key_exists("banana", $fruits)) { echo "香蕉在数组中存在!"; } else { echo "香蕉不在数组中存在!"; }
Hasil output ialah:
香蕉在数组中存在!
isset () boleh menentukan sama ada nama kunci yang ditentukan wujud dalam tatasusunan adalah seperti berikut:
isset($array[$key])
Antaranya, parameter $key mewakili nama kunci yang akan ditemui, dan parameter $array mewakili tatasusunan yang hendak dicari. Mengembalikan benar jika kunci ditemui, palsu sebaliknya.
Kod sampel adalah seperti berikut:
$fruits = array("apple" => 0, "banana" => 1, "orange" => 2); if (isset($fruits["orange"])) { echo "橘子在数组中存在!"; } else { echo "橘子不在数组中存在!"; }
Hasil output ialah:
橘子在数组中存在!
Nota: Apabila menggunakan fungsi isset(), sila beri perhatian, jika nilai yang sepadan dengan nama kunci adalah null juga akan mengembalikan palsu, jadi ia tidak dapat ditentukan dengan tepat sama ada nama kunci wujud dalam tatasusunan.
fungsi array_diff() boleh mencari perbezaan antara dua tatasusunan, iaitu mengembalikan perbezaan yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan berikut semua nilai. Oleh itu, jika nilai yang ditemui digunakan sebagai tatasusunan pertama dan tatasusunan asal digunakan sebagai tatasusunan kedua, dan hasil carian ialah set perbezaan kosong, ini bermakna ia wujud dalam tatasusunan asal.
Kod sampel adalah seperti berikut:
$fruits = array("apple", "banana", "orange"); if (count(array_diff(array("banana"), $fruits)) == 0) { echo "香蕉在数组中存在!"; } else { echo "香蕉不在数组中存在!"; }
Hasil output ialah:
香蕉在数组中存在!
preg_grep Fungsi () boleh menggunakan ungkapan biasa untuk memadankan elemen tatasusunan dan mengembalikan semua elemen padanan. Oleh itu, jika nilai yang ditemui digunakan sebagai ungkapan biasa dan tatasusunan asal digunakan sebagai parameter, dan hasil carian ialah tatasusunan bukan kosong, ini bermakna ia wujud dalam tatasusunan asal.
Kod sampel adalah seperti berikut:
$fruits = array("apple", "banana", "orange"); if (count(preg_grep("/banana/", $fruits)) > 0) { echo "香蕉在数组中存在!"; } else { echo "香蕉不在数组中存在!"; }
Hasil output ialah:
香蕉在数组中存在!
Di atas adalah pelbagai kaedah untuk menentukan sama ada nombor berada dalam tatasusunan dalam PHP Kita boleh memilih kaedah yang sesuai dengan kita berdasarkan keperluan sebenar. Selain itu, terdapat banyak fungsi operasi tatasusunan lain, seperti array_merge(), array_slice(), array_reverse(), dll. Kita boleh memilih fungsi yang berbeza untuk digunakan mengikut keperluan yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada nombor tertentu berada dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!