Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk melaksanakan pertanyaan kabur tatasusunan dua dimensi dalam PHP

Bagaimana untuk melaksanakan pertanyaan kabur tatasusunan dua dimensi dalam PHP

PHPz
PHPzasal
2023-04-19 10:06:09810semak imbas

Dalam PHP, adalah perkara biasa untuk menggunakan tatasusunan dua dimensi. Walau bagaimanapun, apabila kita perlu menanyakan nilai tertentu dalam tatasusunan dua dimensi, bagaimanakah kita boleh melakukan pertanyaan kabur dengan mudah? Artikel ini akan memperkenalkan cara melaksanakan pertanyaan kabur tatasusunan dua dimensi dalam PHP.

1. Apakah itu tatasusunan dua dimensi

Pertama, mari kita fahami apa itu tatasusunan dua dimensi. Ringkasnya, tatasusunan dua dimensi ialah satu atau lebih tatasusunan yang bersarang dalam tatasusunan. Setiap tatasusunan boleh mempunyai indeks atau pasangan nilai kunci sendiri. Berikut ialah contoh tatasusunan dua dimensi yang mudah:

//定义一个关联型二维数组
$student = array(
    array('name' => '小明', 'age' => 18, 'gender' => '男'),
    array('name' => '小红', 'age' => 17, 'gender' => '女'),
    array('name' => '小刚', 'age' => 19, 'gender' => '男')
);

2. Laksanakan pertanyaan kabur tatasusunan dua dimensi

Sekarang, kita mempunyai tatasusunan dua dimensi, dengan andaian kita perlu untuk menyoal semua peringkat umur Bagi pelajar yang berumur 18 tahun ke bawah, pastinya sangat menyusahkan untuk melintasi keseluruhan tatasusunan secara langsung. Pada masa ini, kita boleh menggunakan fungsi array_filter() PHP untuk melaksanakan pertanyaan kabur. Fungsi

array_filter() adalah untuk menggunakan fungsi panggil balik yang ditentukan pada setiap elemen dalam tatasusunan, dan elemen yang hasil pulangannya adalah benar membentuk tatasusunan baharu. Kita boleh menggunakan fungsi panggil balik untuk menentukan sama ada elemen semasa memenuhi syarat. Berikut ialah contoh menggunakan fungsi array_filter() untuk melaksanakan pertanyaan kabur tatasusunan dua dimensi:

function filterByAge($arr)
{
    return ($arr['age'] <= 18);
}

$result = array_filter($student, 'filterByAge');
print_r($result);

Dalam contoh ini, kami mentakrifkan fungsi panggil balik bernama filterByAge, yang akan kembali apabila umur pelajar adalah kurang daripada maklumat Pelajar bersamaan dengan umur 18 tahun. Akhir sekali, kami menggunakan fungsi array_filter() untuk menapis maklumat pelajar yang memenuhi syarat dalam tatasusunan dua dimensi, dan kemudian mengeluarkan keputusan ke skrin.

3. Optimumkan pertanyaan kabur tatasusunan dua dimensi

Walaupun contoh di atas menunjukkan cara menggunakan fungsi array_filter() untuk melaksanakan pertanyaan kabur, apabila jumlah data adalah besar, kaedah ini akan menjadi Sangat perlahan. Kami boleh mengoptimumkan dengan cara lain:

$search_age = 18;
$result = array_filter($student, function ($arr) use ($search_age) {
    return ($arr['age'] <= $search_age);
});
print_r($result);

Dalam contoh ini, kami menggunakan fungsi tanpa nama dan bukannya fungsi yang dipanggil filterByAge. Selain itu, kami juga menggunakan kata kunci penggunaan untuk menghantar pembolehubah $search_age kepada fungsi tanpa nama. Walaupun ini mungkin lebih kompleks sedikit, pendekatan ini boleh mempercepatkan pertanyaan anda.

4. Ringkasan

Dalam PHP, penggunaan tatasusunan dua dimensi adalah sangat biasa. Apabila kita perlu menanyakan maklumat yang layak dalam tatasusunan dua dimensi, kita boleh menggunakan fungsi array_filter() untuk melaksanakan pertanyaan kabur. Menggunakan fungsi tanpa nama dan kata kunci penggunaan boleh meningkatkan kelajuan pertanyaan, tetapi kod mungkin lebih kompleks sedikit. Harap artikel ini dapat membantu anda memahami cara melaksanakan pertanyaan kabur tatasusunan dua dimensi dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pertanyaan kabur tatasusunan dua dimensi dalam 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