Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menapis Tatasusunan Dua Dimensi dalam PHP Berdasarkan Nilai Kunci Tertentu?

Bagaimanakah Saya Boleh Menapis Tatasusunan Dua Dimensi dalam PHP Berdasarkan Nilai Kunci Tertentu?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 10:55:11164semak imbas

How Can I Filter a Two-Dimensional Array in PHP Based on a Specific Key's Value?

Menapis Tatasusunan Dua Dimensi mengikut Nilai Tertentu

Menapis tatasusunan berbilang dimensi dengan nilai tertentu boleh dicapai melalui pelbagai teknik pengaturcaraan . Dalam PHP, fungsi array_filter menyediakan kaedah yang mudah untuk mencapai ini.

Menapis Tatasusunan Dua Dimensi dengan Nilai Kunci Tertentu

Untuk menapis dua- tatasusunan dimensi mengikut nilai tertentu, seseorang boleh menggunakan fungsi array_filter bersama-sama dengan fungsi panggil balik. Fungsi panggil balik harus menilai setiap elemen tatasusunan dan mengembalikan benar jika ia memenuhi kriteria yang diingini.

Sebagai contoh, pertimbangkan tatasusunan yang diberikan di mana kita ingin menapis mengikut kekunci 'nama' dengan nilai 'CarEnquiry ':

$arr = [
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'CarEnquiry',
        'status' => 'NEW',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'CarEnquiry',
        'status' => 'CALL1',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'Finance',
        'status' => 'CALL2',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'Partex',
        'status' => 'CALL3',
        'appointment' => 0
    ]
];

Coretan kod berikut menunjukkan cara menapis tatasusunan:

$new = array_filter($arr, function ($var) {
    return ($var['name'] == 'CarEnquiry');
});

Dalam kes ini, fungsi panggil balik ($var['name'] == 'CarEnquiry') menyemak sama ada nilai 'name' untuk setiap elemen tatasusunan adalah sama dengan 'CarEnquiry'. Jika benar, elemen disertakan dalam tatasusunan yang ditapis ($baru).

Menapis mengikut Nilai Boleh Ditukar

Jika nilai penapis perlu ditukar ganti, seperti sebagai 'CarEnquiry' atau 'Finance', sedikit pengubahsuaian boleh dibuat pada panggilan balik fungsi:

$filterBy = 'CarEnquiry'; // or Finance etc.

$new = array_filter($arr, function ($var) use ($filterBy) {
    return ($var['name'] == $filterBy);
});

Dengan memperkenalkan pembolehubah $filterBy, kriteria penapis menjadi dinamik, membolehkan penapisan mengikut nilai berbeza mengikut keperluan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menapis Tatasusunan Dua Dimensi dalam PHP Berdasarkan Nilai Kunci Tertentu?. 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