PHP에서 Array_unique () 함수를 사용하여 배열을 제거 할 때 배열 요소의 순서가 변경 될 수 있습니다. 배열에서 복제물이 제거되지만 원래 순서가 중단되어 프로그램의 예상 동작에 영향을 줄 수 있습니다.
중복 제거 후 배열의 요소 순서를 보존하기 위해 개발자는 다음 방법을 선택할 수 있습니다.
이 방법은 교차로를 통해 원래의 요소 순서를 보존합니다.
$array
= ['a', 'b', 'c', 'a', 'd'];
$unique_array
=
array_intersect_key
(
$array
,
array_unique
(
$array
));
먼저 배열의 주요 값을 뒤집은 다음 배열을 재구성하면 요소의 순서를 효과적으로 복제하고 보존 할 수 있습니다.
$array
= ['a', 'b', 'c', 'a', 'd'];
$seen_keys
=
array_flip
(
$array
);
foreach
(
$seen_keys
as
$key
=>
) {
$val
$unique_array
[
$key
] =
[
$key
$array
];
}
이 방법은 순서가 먼저 중복 제거에 의해 보존 된 다음 Array_Values ()를 통해 배열을 다시 표시하도록합니다.
$array
= ['a', 'b', 'c', 'a', 'd'];
$unique_array
=
array_values
(
array_unique
$array
));
(
중복 값이 포함 된 배열이 있다고 가정합니다.
$array
= ['red', 'green', 'blue', 'red', 'orange'];
Array_unique ()를 중간 임시로 사용하면 요소의 순서가 변경됩니다.
$unique_array
=
array_unique
(
$array
);
이 시점에서 요소 순서는 [ '녹색', '파란색', '오렌지', '빨간색']이 됩니다.
위에서 언급 한 몇 가지 방법을 통해 배열 요소의 순서가 보존되도록 할 수 있습니다.
$unique_array_intersect
=
array_intersect_key
(
$array
array_unique
$array
));
,
(
결과는 [ '빨간색', '녹색', '파란색', '오렌지'] 입니다.
이 기사는 PHP 배열의 중복 제거 후 서열 변화 문제를 해결하기위한 세 가지 일반적인 방법을 소개합니다. Array_intersect_key ()를 사용하거나 Array_flip () 및 Array_Values () 결합하든 배열 주문 손실 문제를 효과적으로 해결할 수 있습니다. 이 솔루션이 개발자가 PHP의 어레이를보다 효율적으로 처리하는 데 도움이 될 수 있기를 바랍니다.