Bagaimana untuk membuat pertanyaan berdasarkan tatasusunan dalam php

PHPz
Lepaskan: 2023-04-23 17:10:14
asal
1189 orang telah melayarinya

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;
}
Salin selepas log masuk

}
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;
Salin selepas log masuk

});
}

$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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!