PHP에서 배열로 작업할 때, 동일한 요소가 포함되어 있는지 확인하기 위해 배열을 비교해야 하는 경우가 많습니다. 배열 동일성은 동일한 순서의 동일한 요소, 순서에 관계 없는 동일한 요소 또는 엄격한 유형 일치를 의미할 수 있습니다. 이 기사에서는 PHP에서 두 배열이 동일한지 확인하는 다양한 접근 방식을 살펴봅니다.
==연산자 사용
== 연산자는 엄격한 유형 검사 없이 배열에 동일한 요소가 동일한 순서로 있는지 확인하는 느슨한 비교를 제공합니다. ?
<?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
===연산자 사용
=== 연산자는 값과 데이터 유형을 모두 확인하여 엄격한 비교를 수행합니다. ?
<?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() 메소드 사용
array_diff() 함수는 배열을 비교하고 차이점을 반환합니다. 순서 없이 비교하려면 양방향으로 차이가 있는지 확인하세요 ?
<?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
순서 없는 비교를 위한 정렬 방식
순서가 중요하지 않은 경우 두 배열을 먼저 정렬한 다음 ==를 사용하여 비교하세요. ?
<?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
비교 요약
== 느슨함예동일한 순서, 혼합 유형=== 엄격예정확히 일치array_diff() LooseNoUnordered 비교 정렬 + == LooseNoUnordered, 단순 배열 결론
===를 선택하세요 엄격한 평등의 경우 == 순서와의 느슨한 비교를 위해 array_diff() 또는 정렬되지 않은 비교를 위한 정렬 방식. 각 방법은 귀하의 특정 요구 사항에 따라 다양한 비교 요구 사항을 제공합니다.