Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menapis Tatasusunan Berbilang Dimensi Menggunakan Padanan Rentetan Separa dalam PHP?

Bagaimanakah Saya Boleh Menapis Tatasusunan Berbilang Dimensi Menggunakan Padanan Rentetan Separa dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-02 02:36:09133semak imbas

How Can I Filter a Multidimensional Array Using Partial String Matching in PHP?

Menapis Tatasusunan Berbilang Dimensi Berdasarkan Padanan Separa Nilai Carian

Dalam senario tertentu, adalah perlu untuk menapis data yang disimpan dalam tatasusunan berbilang dimensi berdasarkan padanan separa nilai carian yang ditentukan.

Andaikan kita mempunyai tatasusunan berstruktur seperti berikut:

$array = [
    [
        'text' => 'I like Apples',
        'id'   => '102923'
    ],
    [
        'text' => 'I like Apples and Bread',
        'id'   => '283923'
    ],
    [
        'text' => 'I like Apples, Bread, and Cheese',
        'id'   => '3384823'
    ],
    [
        'text' => 'I like Green Eggs and Ham',
        'id'   => '4473873'
    ]
];

Anggap kita ingin mencari jarum tertentu, seperti "Roti." Untuk menapis tatasusunan dan mendapatkan semula elemen yang mengandungi padanan separa, kami boleh memanfaatkan fungsi penapis_tatasusunan.

$search_text = 'Bread';

$filtered_array = array_filter($array, function($element) use ($search_text) {
    return (strpos($element['text'], $search_text) !== false);
});

Fungsi penapis_tatasusunan menerima dua parameter: tatasusunan input dan fungsi panggil balik. Fungsi panggil balik bertanggungjawab untuk menilai sama ada setiap elemen perlu dikekalkan atau dialih keluar daripada tatasusunan. Dalam kes kami, fungsi panggil balik menyemak sama ada medan 'teks' elemen mengandungi istilah carian yang ditentukan. Jika ya, ia kembali benar, menunjukkan bahawa elemen itu harus dikekalkan.

Setelah dilaksanakan, tatasusunan_penapis akan mengandungi elemen berikut:

[
    [
        'text' => 'I like Apples and Bread',
        'id'   => '283923'
    ],
    [
        'text' => 'I like Apples, Bread, and Cheese',
        'id'   => '3384823',
    ]
]

Pendekatan ini menapis tatasusunan berbilang dimensi dengan berkesan, mengembalikan hanya elemen yang memenuhi syarat padanan separa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menapis Tatasusunan Berbilang Dimensi Menggunakan Padanan Rentetan Separa 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