Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mencari Nilai Khusus dalam Tatasusunan Berbilang Dimensi dengan Cekap?

Bagaimana untuk Mencari Nilai Khusus dalam Tatasusunan Berbilang Dimensi dengan Cekap?

Susan Sarandon
Lepaskan: 2024-10-29 03:47:02
asal
191 orang telah melayarinya

How to Efficiently Search for Specific Values in Multidimensional Arrays?

Mencari Nilai Khusus dalam Tatasusunan Berbilang Dimensi

Apabila bekerja dengan tatasusunan berbilang dimensi, selalunya perlu mencari nilai tertentu, terutamanya apabila menyemak nilainya kewujudan. Untuk menentukan sama ada nilai tertentu terdapat dalam mana-mana subarray tatasusunan berbilang dimensi, kami boleh memanfaatkan pendekatan berasaskan gelung yang mudah.

Menggunakan tatasusunan contoh:

$my_array = array(
    0 => array(
        "name" => "john",
        "id" => 4
    ),
    1 => array(
        "name" => "mark",
        "id" => 152
    ),
    2 => array(
        "name" => "Eduard",
        "id" => 152
    )
);
Salin selepas log masuk

Kami berusaha untuk menentukan jika tatasusunan mengandungi mana-mana elemen dengan kunci "id" dan nilai 152.

Carian Berulang:

Pendekatan yang paling mudah ialah dengan mengulang melalui subarray, menyemak setiap pasangan nilai kunci. Fungsi berikut merangkumi logik ini:

<code class="php">function findValue($array, $key, $val) {
    foreach ($array as $item) {
        if (isset($item[$key]) && $item[$key] == $val) {
            return true;
        }
    }
    return false;
}</code>
Salin selepas log masuk

Fungsi mengambil tatasusunan, kunci carian dan nilai untuk dicari. Ia menggelung melalui tatasusunan, menyemak sama ada subarray semasa mengandungi kunci yang ditentukan dan sama ada nilai yang berkaitannya sepadan dengan nilai sasaran. Jika padanan ditemui, fungsi mengembalikan benar; jika tidak, ia mengembalikan palsu.

Untuk contoh kami, memanggil findValue($my_array, 'id', 152) akan mengembalikan true kerana tatasusunan mengandungi subarray ["name" => "Eduard", "id" => 152].

Kecekapan dan Pengoptimuman:

Walaupun pendekatan ini mudah dan mudah dilaksanakan, ia mungkin bukan yang paling cekap untuk tatasusunan besar. Untuk tatasusunan besar, pendekatan berasaskan jadual cincang boleh menjadi lebih cekap, kerana ia mengurangkan kerumitan kepada O(1) untuk operasi carian. Walau bagaimanapun, untuk tatasusunan bersaiz kecil hingga sederhana, pendekatan berulang yang diterangkan di atas menyediakan penyelesaian yang mudah dan boleh dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Khusus dalam Tatasusunan Berbilang Dimensi dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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