Dalam PHP, terdapat banyak cara untuk menentukan sama ada nilai berada dalam tatasusunan dua dimensi. Artikel ini akan memperkenalkan dua kaedah yang paling biasa digunakan.
Kaedah 1: Gunakan gelung foreach untuk melintasi
Kaedah ini lebih intuitif Anda boleh menggunakan gelung foreach untuk melintasi keseluruhan tatasusunan dua dimensi, dan kemudian tentukan sama ada setiap sub-tatasusunan mengandungi. nilai sasaran. Jika nilai sasaran ditemui, anda boleh mengembalikan benar secara langsung, jika tidak ia akan mengembalikan palsu selepas gelung berakhir.
Berikut ialah contoh kod:
function isValueInArray($array, $value) { foreach ($array as $subArray) { if (in_array($value, $subArray)) { return true; } } return false; }
Fungsi ini menerima dua parameter: tatasusunan dua dimensi untuk disoal dan nilai sasaran. Di dalam fungsi, kami menggunakan gelung foreach untuk melelaran melalui keseluruhan tatasusunan, dan menggunakan fungsi in_array untuk menentukan sama ada nilai sasaran wujud dalam setiap sub-tatasusunan. Jika nilai sasaran ditemui, anda boleh mengembalikan benar secara langsung, jika tidak ia akan mengembalikan palsu selepas gelung berakhir.
Kaedah 2: Gunakan fungsi array_column
Fungsi array_column PHP boleh mengembalikan semua nilai kunci yang ditentukan daripada tatasusunan dua dimensi. Kita boleh menggunakan fungsi ini untuk mendapatkan lajur dalam tatasusunan dua dimensi, dan kemudian gunakan fungsi in_array untuk menentukan sama ada nilai sasaran wujud dalam lajur. Jika ia wujud, ia boleh mengembalikan benar, jika tidak ia mengembalikan palsu.
Berikut ialah contoh kod:
function isValueInArray($array, $value) { foreach ($array as $subArray) { if (in_array($value, array_column($array, 'key'))) { return true; } } return false; }
Pelaksanaan fungsi ini pada asasnya adalah sama dengan fungsi di atas Perbezaannya ialah kita menggunakan fungsi array_column untuk mendapatkan kunci " " lajur dalam tatasusunan dua dimensi. Dan kemudian gunakan fungsi in_array untuk menentukan sama ada nilai sasaran muncul dalam lajur ini.
Ringkasan
Di atas ialah dua kaedah biasa untuk menentukan sama ada nilai berada dalam tatasusunan dua dimensi dalam PHP. Menggunakan gelung foreach adalah lebih intuitif, tetapi prestasi mungkin terjejas apabila tatasusunan adalah besar. Menggunakan fungsi array_column boleh mendapatkan lajur yang ditentukan dengan lebih cepat, tetapi fungsi ini mungkin tidak disokong untuk beberapa versi PHP yang lebih lama. Oleh itu, gabungan pertimbangan diperlukan semasa memilih kaedah yang hendak digunakan.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada nilai berada dalam tatasusunan dua dimensi dalam PHP (dua kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!