PHP에서 배열은 일반적으로 사용되는 데이터 구조이며 배열 작동에 대한 많은 기능이 있습니다. 그중에서도 Array_diff () 및 array_values () 는 두 가지 공통 배열 작동 함수입니다. Array_Diff ()는 두 배열의 차이를 계산하는 데 사용되며 Array_Values ()는 다시 표시된 배열을 반환합니다.
때로는 요소를 삭제 한 후 배열에서 일부 요소를 삭제하고 배열의 인덱스를 재생해야합니다. 이 요구 사항은 배열을 처리 할 때, 특히 배열에서 특정 특정 값을 삭제할 때 연속 인덱스를 재생하려고합니다. 다음은이 기능을 달성하기 위해 Array_Diff () 및 Array_Values ()를 사용하는 방법을 보여줍니다.
Array_Diff () 함수는 둘 이상의 배열 간의 차이를 계산하는 데 사용되며 첫 번째 배열에 포함 된 다양한 요소를 반환하지만 다른 배열에는 그렇지 않습니다.
예를 들어:
$array1 = [1, 2, 3, 4];
$array2 = [2, 4];
$result = array_diff($array1, $array2);
print_r($result);
산출:
Array
(
[0] => 1
[2] => 3
)
이 예에서 Array_Diff ()는 Array1 에서 요소를 포함하는 배열을 반환하지만 Array2 에서는 그렇지 않으며 요소 2 및 4 는 삭제됩니다.
Array_Diff ()를 사용하여 특정 요소를 삭제하면 결과 배열의 인덱스가 불연속 될 수 있습니다. 배열의 인덱스를 재생하기 위해 Array_Values ()를 사용할 수 있습니다. Array_Values () 는 인덱스가 0 에서 시작하여 배열의 요소를 재 배열 한 새 배열을 반환합니다.
예를 들어:
$array = [10 => 'a', 11 => 'b', 12 => 'c'];
$array = array_values($array);
print_r($array);
산출:
Array
(
[0] => a
[1] => b
[2] => c
)
이제 Array_Diff () 및 Array_Values ()를 결합하여 배열 요소를 삭제하고 인덱스를 재건하는 기능을 구현할 수 있습니다. 지정된 요소를 제거 해야하는 배열이 있다고 가정하고 최종 배열 인덱스가 0 에서 다시 시작되기를 원합니다.
샘플 코드 :
// 원래 배열
$array1 = [1, 2, 3, 4, 5, 6, 7];
// 값을 삭제하십시오 2 그리고 4 강요
$array2 = [2, 4];
$result = array_diff($array1, $array2);
// 리인덱스
$result = array_values($result);
print_r($result);
산출:
Array
(
[0] => 1
[1] => 3
[2] => 5
[3] => 6
[4] => 7
)
이 예에서 먼저 Array_Diff ()를 사용하여 값 2 및 4 의 요소를 삭제 한 다음 array_values () 를 통해 인덱스를 재구성하여 결과 배열의 인덱스가 0 에서 시작되도록 연속성을 보장합니다.
이 방법은 배열에서 특정 요소를 제거해야 한 후 배열 인덱스가 인접한 장면에 매우 적합합니다. 예를 들어, 사용자 데이터를 처리 할 때 원치 않는 특정 항목과 재 입원을 삭제하면 후속 작업의 문제를 피할 수 있습니다.
Array_Diff () 및 Array_Values ()를 결합하여 배열에서 특정 요소를 쉽게 삭제하고 연속 인덱스 배열을 재생할 수 있습니다. 이 접근법은 복잡한 배열 작업을 처리하고 코드를 단순화하고 효율성을 높일 때 매우 유용합니다.