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
Lepaskan: 2024-12-02 02:36:09
asal
224 orang telah melayarinya

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

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

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',
    ]
]
Salin selepas log masuk

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 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan