Dalam pengaturcaraan, membandingkan tatasusunan untuk melihat sama ada ia mempunyai nilai yang sama adalah tugas biasa. Dalam artikel ini, kita akan belajar cara menulis kod untuk membandingkan nilai dalam tatasusunan menggunakan PHP.
Array ialah salah satu struktur data yang paling biasa digunakan dalam PHP. Ia ialah koleksi tersusun di mana setiap elemen mempunyai nilai kunci yang unik. Dalam PHP, terdapat dua jenis tatasusunan: tatasusunan diindeks dan tatasusunan bersekutu. Tatasusunan diindeks ialah tatasusunan dengan nombor sebagai kunci, manakala tatasusunan bersekutu ialah tatasusunan dengan rentetan sebagai kunci. Tidak kira jenis tatasusunan, kita boleh menggunakan fungsi terbina dalam PHP untuk membandingkan sama ada ia mempunyai nilai yang sama.
Berikut ialah beberapa cara untuk membandingkan nilai tatasusunan:
Fungsi array_intersect boleh membandingkan dua atau lebih tatasusunan dan mengembalikan persimpangan antara mereka. Sintaksnya adalah seperti berikut:
array_intersect($array1, $array2, ...)
Antaranya, $array1, $array2 dan parameter lain ialah tatasusunan untuk dibandingkan. Berikut ialah contoh menggunakan fungsi array_intersect untuk membandingkan sama ada dua tatasusunan mempunyai nilai yang sama:
$array1 = array('apple', 'banana', 'orange'); $array2 = array('orange', 'kiwi', 'mango'); $result = array_intersect($array1, $array2); if (!empty($result)) { echo 'The arrays have common values.'; } else { echo 'The arrays do not have common values.'; }
Dalam contoh ini, kita mula-mula mentakrifkan dua tatasusunan $array1 dan $array2, kedua-duanya mengandungi beberapa nama buah . Kami kemudian menggunakan fungsi array_intersect untuk membandingkan dua tatasusunan dan menyimpan hasilnya dalam pembolehubah $result. Akhir sekali, kami menyemak sama ada tatasusunan $result kosong. Jika tidak kosong, ini bermakna nilai yang sama wujud untuk $array1 dan $array2 jika tidak, mereka tidak mempunyai nilai yang sama.
Fungsi array_diff boleh membandingkan dua atau lebih tatasusunan dan mengembalikan perbezaan antara mereka. Sintaksnya adalah seperti berikut:
array_diff($array1, $array2, ...)
Antaranya, $array1, $array2 dan parameter lain ialah tatasusunan yang hendak dibandingkan. Berikut ialah contoh menggunakan fungsi array_diff untuk membandingkan sama ada dua tatasusunan mempunyai nilai yang sama:
$array1 = array('apple', 'banana', 'orange'); $array2 = array('orange', 'kiwi', 'mango'); $result = array_diff($array1, $array2); if (count($result) != count($array1)) { echo 'The arrays have common values.'; } else { echo 'The arrays do not have common values.'; }
Dalam contoh ini, kami juga mentakrifkan dua tatasusunan $array1 dan $array2. Kami kemudian membandingkan dua tatasusunan menggunakan fungsi array_diff dan menyimpan hasilnya dalam pembolehubah $result. Akhir sekali, kami menyemak sama ada panjang tatasusunan $result adalah sama dengan panjang tatasusunan $array1. Jika tidak sama, ia bermakna bahawa nilai yang sama wujud untuk $array1 dan $array2 jika tidak, mereka tidak mempunyai nilai yang sama.
Fungsi in_array boleh menyemak sama ada nilai muncul dalam tatasusunan. Sintaksnya adalah seperti berikut:
in_array($value, $array)
di mana $value ialah nilai yang hendak disemak dan $array ialah tatasusunan yang hendak disemak. Berikut ialah contoh menggunakan fungsi in_array untuk membandingkan sama ada dua tatasusunan mempunyai nilai yang sama:
$array1 = array('apple', 'banana', 'orange'); $array2 = array('orange', 'kiwi', 'mango'); foreach ($array1 as $value) { if (in_array($value, $array2)) { echo 'The arrays have common values.'; break; } }
Dalam contoh ini, kami menggunakan gelung foreach untuk melelar melalui setiap nilai dalam tatasusunan $array1 dan semak menggunakan fungsi in_array Sama ada ia muncul dalam tatasusunan $array2. Jika nilai yang sama ditemui, "Susun atur mempunyai nilai sepunya adalah output dan gelung ditamatkan melalui penyataan rehat. Jika tidak, gelung akan diteruskan sehingga semua nilai dalam tatasusunan $arra1 telah disemak.
Kesimpulan
Di atas ialah tiga cara untuk membandingkan sama ada tatasusunan mempunyai nilai yang sama. Fungsi array_intersect dan array_diff kedua-duanya digunakan untuk membandingkan persimpangan dan perbezaan antara dua atau lebih tatasusunan. Mereka boleh mencari elemen biasa/berbeza dengan cepat dalam tatasusunan. Fungsi in_array digunakan untuk menyemak sama ada nilai muncul dalam tatasusunan. Jika anda perlu menentukan sama ada dua tatasusunan mempunyai nilai yang sama, menggunakan fungsi ini boleh menjadikan kod lebih mudah dan lebih cekap.
Atas ialah kandungan terperinci Bagaimana untuk membandingkan tatasusunan dalam php untuk melihat sama ada ia mempunyai nilai yang sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!