เมื่อทำงานกับอาร์เรย์ใน PHP คุณมักจะต้องเปรียบเทียบอาร์เรย์เหล่านั้นเพื่อดูว่ามีองค์ประกอบเดียวกันหรือไม่ ความเท่าเทียมกันของอาร์เรย์อาจหมายถึงองค์ประกอบที่แตกต่างกันในลำดับเดียวกัน องค์ประกอบเดียวกันโดยไม่คำนึงถึงลำดับ หรือการจับคู่ประเภทที่เข้มงวด บทความนี้จะสำรวจแนวทางต่างๆ เพื่อตรวจสอบว่าอาร์เรย์สองตัวเท่ากันใน PHP หรือไม่
การใช้ตัวดำเนินการ ==
05รหัส> โอเปอเรเตอร์ให้การเปรียบเทียบแบบหลวมๆ โดยตรวจสอบว่าอาร์เรย์มีองค์ประกอบเดียวกันในลำดับเดียวกันหรือไม่ โดยไม่ต้องตรวจสอบประเภทที่เข้มงวด ?
<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [1, 2, 3, 4];
if ($arr1 == $arr2) {
echo "The arrays are equal";
} else {
echo "The arrays are not equal";
}
?>
The arrays are equal
การใช้ตัวดำเนินการ ===
13รหัส> ตัวดำเนินการทำการเปรียบเทียบอย่างเข้มงวด โดยตรวจสอบทั้งค่าและประเภทข้อมูล ?
<?php
$array1 = [1, 2, 3, 4];
$array2 = [1, 2, '3', 4];
if ($array1 === $array2) {
echo "The arrays are equal!";
} else {
echo "The arrays are not equal!";
}
?>
The arrays are not equal!
การใช้วิธี array_diff()
20รหัส> ฟังก์ชั่นเปรียบเทียบอาร์เรย์และส่งกลับความแตกต่าง สำหรับการเปรียบเทียบแบบไม่เรียงลำดับ ให้ตรวจสอบว่ามีความแตกต่างในทั้งสองทิศทางหรือไม่
<?php
$array1 = [1, 2, 3];
$array2 = [3, 2, 1];
if (empty(array_diff($array1, $array2)) && empty(array_diff($array2, $array1))) {
echo "Arrays are equal";
} else {
echo "Arrays are not equal";
}
?>
Arrays are equal
วิธีการเรียงลำดับสำหรับการเปรียบเทียบแบบไม่เรียงลำดับ
เมื่อลำดับไม่สำคัญ ให้เรียงลำดับทั้งสองอาร์เรย์ก่อน จากนั้นจึงเปรียบเทียบโดยใช้ 36 ?
<?php
$array1 = [3, 2, 1];
$array2 = [1, 2, 3];
// Sort both arrays
sort($array1);
sort($array2);
// Compare sorted arrays
if ($array1 == $array2) {
echo "The arrays are equal";
} else {
echo "The arrays are not equal";
}
?>
The arrays are equal
สรุปการเปรียบเทียบ
40รหัส> LooseYesคำสั่งเดียวกัน แบบผสม52 StrictYesExact ตรงกับ 65 LooseNoUnordered comparisonSort + 71 LooseNoUnordered อาร์เรย์แบบง่าย บทสรุป
เลือก 85 เพื่อความเท่าเทียมกันอย่างเคร่งครัด 92 สำหรับการเปรียบเทียบแบบหลวมๆ กับคำสั่งซื้อ และ 103 หรือวิธีการเรียงลำดับสำหรับการเปรียบเทียบแบบไม่เรียงลำดับ แต่ละวิธีมีข้อกำหนดในการเปรียบเทียบที่แตกต่างกันตามความต้องการเฉพาะของคุณ