"John", "age" => 20, "jantina" => "lelaki") , tatasusunan("n"/> "John", "age" => 20, "jantina" => "lelaki") , tatasusunan("n">

Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menanyakan nilai yang ditentukan dalam tatasusunan PHP

Bagaimana untuk menanyakan nilai yang ditentukan dalam tatasusunan PHP

PHPz
PHPzasal
2023-04-18 09:47:17696semak imbas

Apabila anda mempunyai tatasusunan PHP dengan jumlah data yang banyak, pernahkah anda menghadapi situasi di mana anda ingin mencari nilai tertentu? Dalam artikel ini, kami akan menerangkan cara untuk menanyakan nilai yang ditentukan dalam tatasusunan PHP.

Mula-mula, mari lihat tatasusunan contoh untuk memahami masalah dengan lebih baik:

$data = array(
    array("name" => "John", "age" => 20, "gender" => "male"),
    array("name" => "Lisa", "age" => 25, "gender" => "female"),
    array("name" => "Jack", "age" => 30, "gender" => "male"),
    array("name" => "Emily", "age" => 35, "gender" => "female"),
);

Ini ialah susunan empat orang, setiap satu dengan nama, umur dan jantina. Kami akan menggunakan tatasusunan ini untuk menunjukkan cara untuk menanyakan tatasusunan untuk nilai tertentu dalam PHP.

Kaedah 1: Gunakan gelung foreach

Kaedah pertama ialah menggunakan gelung foreach PHP untuk melintasi tatasusunan, dan kemudian gunakan pernyataan if untuk menyemak sama ada setiap nilai adalah sama dengan nilai yang kita sedang mencari. Kaedah ini sangat mudah dan mudah serta berfungsi dengan baik untuk tatasusunan kecil, tetapi menjadi kurang cekap apabila tatasusunan lebih besar.

Berikut ialah kod sampel menggunakan gelung foreach:

$search = "Lisa";
foreach($data as $key => $value) {
    if($value['name'] == $search) {
        echo "Name: ".$value['name'].", Age: ".$value['age'].", Gender: ".$value['gender']."<br>";
    }
}

Hasil keluaran:

Name: Lisa, Age: 25, Gender: female

Kami menggunakan pembolehubah carian untuk menyimpan nama yang kami mahu cari, gelung "foreach" Lelaran melalui setiap nilai dan semak sama ada nilai itu sama dengan nama yang disimpan dalam pembolehubah "carian". Jika ya, cetak maklumat yang berkaitan.

Kaedah 2: Gunakan array_filter fungsi terbina dalam PHP

Kaedah kedua menggunakan fungsi array_filter PHP, yang akan mengembalikan tatasusunan baharu yang mengandungi nilai yang memenuhi syarat semakan kami.

Berikut ialah kod sampel menggunakan fungsi array_filter:

$search = "male";
$newArray = array_filter($data, function ($value) use ($search) {
    return $value['gender'] == $search;
});
foreach($newArray as $key => $value) {
    echo "Name: ".$value['name'].", Age: ".$value['age'].", Gender: ".$value['gender']."<br>";
}

Hasil keluaran:

Name: John, Age: 20, Gender: male
Name: Jack, Age: 30, Gender: male

Kami menggunakan pembolehubah carian untuk menyimpan jantina yang kami cari kerana, fungsi "array_filter" Jantina setiap nilai akan disemak untuk melihat sama ada ia sama dengan jantina yang disimpan dalam pembolehubah "carian", dan jika ya, ditambahkan pada tatasusunan baharu. Akhir sekali, kami menggunakan gelung foreach untuk mengeluarkan maklumat tentang setiap nilai dalam tatasusunan baharu.

Kaedah 3: Gunakan PHP terbina dalam fungsi array_search

Kaedah ketiga ialah menggunakan fungsi array_search PHP, yang akan mengembalikan kunci yang nilainya muncul dahulu dalam tatasusunan, dan hanya digunakan dalam tatasusunan satu dimensi.

Berikut ialah kod sampel menggunakan fungsi array_search:

$search = "Lisa";
$key = array_search($search, array_column($data, 'name'));
echo "Name: ".$data[$key]['name'].", Age: ".$data[$key]['age'].", Gender: ".$data[$key]['gender']."<br>";

Hasil keluaran:

Name: Lisa, Age: 25, Gender: female

Kami menggunakan pembolehubah carian untuk menyimpan nama yang kami cari untuk, dan kemudian gunakan fungsi "array_column ” mendapatkan lajur "nama" yang ditentukan daripada tatasusunan berbilang dimensi. Seterusnya, gunakan fungsi "array_search" untuk mencari kejadian pertama kunci dalam tatasusunan dan menyimpannya dalam pembolehubah kunci. Akhir sekali, gunakan pembolehubah utama untuk mengeluarkan maklumat berkaitan yang sepadan dengan nama yang kami cari.

Ringkasan

Terdapat banyak cara untuk menanyakan nilai yang ditentukan dalam PHP Kaedah yang hendak dipilih bergantung pada saiz tatasusunan anda dan keperluan pelaksanaan kod anda. Mana-mana kaedah yang anda gunakan akan memastikan anda mempunyai akses pantas kepada data apabila bekerja dengan jumlah data yang besar, meningkatkan prestasi tapak web anda dan menjadikan pembangunan anda lebih cekap.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan nilai yang ditentukan dalam tatasusunan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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