Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencari Nilai Khusus dalam Tatasusunan Berbilang Dimensi dengan Cekap?
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 ) );
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>
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!