Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mencari Nilai Secara Berkesan dalam Tatasusunan Berbilang Dimensi dalam PHP?

Bagaimanakah Saya Boleh Mencari Nilai Secara Berkesan dalam Tatasusunan Berbilang Dimensi dalam PHP?

Patricia Arquette
Lepaskan: 2024-12-21 16:52:10
asal
857 orang telah melayarinya

How Can I Effectively Search for a Value in a Multidimensional Array in PHP?

Carian Tatasusunan Berbilang Dimensi dengan in_array()

Fungsi in_array() cemerlang dalam mengesahkan kewujudan nilai dalam tatasusunan linear. Walau bagaimanapun, kefungsiannya kurang apabila melibatkan tatasusunan berbilang dimensi. Artikel ini menyelidiki batasan in_array() dalam senario multidimensi dan memperkenalkan penyelesaian rekursif.

Penghadan in_array() dengan Tatasusunan Berbilang Dimensi

$ a = array("Mac", "NT", "Irix", "Linux");<br>if (in_array("Irix", $a)) echo "Got Irix"; // Berfungsi<br>

Sebaliknya, menggunakan in_array() pada tatasusunan berbilang dimensi, seperti yang ditunjukkan di bawah, akan menghasilkan hasil yang tidak tepat:

$b = array(array("Mac", "NT"), array("Irix", "Linux"));<br>if (in_array("Irix", $b)) echo "Got Irix"; // Gagal<br>

Penyelesaian Rekursif untuk Carian Tatasusunan Berbilang Dimensi

Untuk mencari nilai secara berkesan dalam tatasusunan berbilang dimensi, pendekatan rekursif ialah diperlukan. Coretan kod berikut mentakrifkan fungsi tersuai untuk tujuan ini:

<br>fungsi in_array_r($needle, $hystack, $strict = false) {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">foreach ($haystack as $item) {
    if (($strict ? $item === $needle : $item == $needle) || (is_array($item) &amp;&amp; in_array_r($needle, $item, $strict))) {
        return true;
    }
}

return false;
Salin selepas log masuk

}

Penggunaan

Fungsi in_array_r() digunakan seperti berikut:

$b = array(array("Mac", "NT"), array("Irix", "Linux"));
echo in_array_r("Irix", $b) ? 'found' : 'not found';

Penyelesaian ini membolehkan operasi carian yang cekap dan tepat untuk nilai dalam tatasusunan berbilang dimensi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Nilai Secara Berkesan dalam Tatasusunan Berbilang Dimensi dalam PHP?. 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
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan