Dalam PHP, tatasusunan ialah struktur data yang sangat biasa. Kita selalunya perlu melakukan pertanyaan berdasarkan nilai tertentu dalam tatasusunan, seperti mencari kedudukan elemen dalam tatasusunan, mencari julat kedudukan yang diduduki oleh elemen tertentu dalam tatasusunan, dsb. Artikel ini akan memperkenalkan cara membuat pertanyaan berdasarkan tatasusunan.
1. Cari kedudukan elemen dalam tatasusunan
Dalam PHP, kita boleh menggunakan fungsi array_search() untuk mencari kedudukan elemen tertentu dalam tatasusunan. Fungsi ini menerima dua parameter: elemen yang akan ditemui dan tatasusunan. Jika elemen yang ditentukan ditemui, nama kunci elemen dalam tatasusunan dikembalikan jika tidak, palsu dikembalikan.
Sebagai contoh, kami mempunyai tatasusunan $numbers = array(1,2,3,4,5,6,7,8,9);, dan kami ingin mencari kedudukan nombor 5 dalam tatasusunan, kita boleh menggunakan Kod berikut:
$key = array_search(5, $numbers);
echo $key; // Output 4
2. Cari semua elemen yang ditentukan dalam Kedudukan tatasusunan
Jika terdapat unsur pendua dalam tatasusunan, kita mungkin perlu mencari semua kedudukan elemen ini dalam tatasusunan. PHP menyediakan fungsi array_keys(), yang boleh mengembalikan semua kunci elemen yang ditentukan dalam tatasusunan.
Berikut ialah contoh, dengan mengandaikan kita mempunyai array $fruits = array("epal","pisang","oren","epal","oren","anggur");, kami mahu untuk mencari Untuk kedudukan semua "oren" dalam tatasusunan, anda boleh menggunakan kod berikut:
$keys = array_keys($fruits, "oren");
print_r($keys ); // Tatasusunan Output ( [0] => 2 [1] => 4 )
Kod ini akan mengeluarkan tatasusunan yang mengandungi semua nama kunci "oren" dalam tatasusunan.
3. Cari kedudukan elemen dalam tatasusunan dua dimensi
Selain tatasusunan satu dimensi, PHP juga menyokong tatasusunan dua dimensi. Jika kita ingin mencari kedudukan elemen dalam tatasusunan dua dimensi, kita perlu menggunakan kaedah lain. Kita boleh lelaran melalui keseluruhan tatasusunan dan mencari sama ada setiap elemen memenuhi keperluan. Berikut ialah kod sampel:
$users = array(
array("name" => "Tom", "age" => 20),
array("name" = > "Jerry", "umur" => 25),
array("name" => "Mike", "umur" => 30)
);
function findUser($users, $name) {
foreach ($users as $key => $user) {
if ($user["name"] == $name) { return $key; }
}
return false;
}
$key = findUser($users, "Jerry");
echo $key; // Output 1
Kod ini akan mengeluarkan kunci elemen bernama "Jerry" dalam nama tatasusunan.
4 Cari semua elemen yang memenuhi syarat dalam tatasusunan dua dimensi
Jika anda ingin mencari semua elemen yang memenuhi syarat dalam tatasusunan dua dimensi, kita boleh menggunakan array_filter. () fungsi. Fungsi ini menerima dua parameter: tatasusunan yang akan ditapis dan fungsi panggil balik. Fungsi panggil balik harus kembali benar atau salah untuk menunjukkan sama ada elemen semasa memenuhi keperluan. Berikut ialah kod sampel:
$users = array(
array("name" => "Tom", "age" => 20),
array("name" = > "Jerry", "umur" => 25),
tatasusunan("nama" => "Mike", "umur" => 30),
tatasusunan("nama" => ; "Alice", "age" => 20)
);
function findUsers($users, $age) {
return array_filter($users, function($user) use ( $ umur) {
return $user["age"] == $age;
});
}
$matchingUsers = findUsers($users, 20);
print_r($matchingUsers);
Kod ini akan mengeluarkan semua elemen yang berumur 20 tahun.
Ringkasan
Dalam PHP, kita boleh menggunakan beberapa fungsi terbina dalam untuk membuat pertanyaan berdasarkan tatasusunan. array_search(), array_keys(), dan array_filter() ialah fungsi yang paling biasa digunakan dan boleh memenuhi keperluan kebanyakan situasi. Jika anda perlu mencari elemen dalam tatasusunan berbilang dimensi, anda mungkin perlu menulis sendiri beberapa kod traversal untuk mencapainya.
Atas ialah kandungan terperinci Bagaimana untuk membuat pertanyaan berdasarkan tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!