PHP에서 배열의 차이를 처리하는 것은 특히 데이터 비교를 수행 할 때 일반적인 작업입니다. Array_Chunk 및 Array_diff 는 배열의 차이를 효율적으로 찾는 데 도움이되는 두 가지 매우 실용적인 기능입니다. 이 기사는이 두 기능을 소개하고 빠른 배열 차이 조회를 구현하는 방법을 보여줍니다.
Array_Chunk 함수는 큰 배열을 여러 개의 작은 배열로 분할하는 데 사용됩니다. 두 가지 매개 변수를받습니다.
원래 배열;
각 분할 배열에 포함 된 요소 수에 포함됩니다.
이런 식으로 큰 배열을 여러 개의 작은 배열로 나눌 수 있습니다. 다량의 데이터를 처리 할 때 블록 처리는 때때로 성능이 향상됩니다.
<?php
$array = range(1, 10); // 컨테이너를 만듭니다 1 도착하다 10 배열
$chunkedArray = array_chunk($array, 3); // 배열을 각각에 넣으십시오 3 요소를 한 조각으로 나눕니다
print_r($chunkedArray);
?>
출력 결과 :
Array
(
[0] => Array ( [0] => 1 [1] => 2 [2] => 3 )
[1] => Array ( [0] => 4 [1] => 5 [2] => 6 )
[2] => Array ( [0] => 7 [1] => 8 [2] => 9 )
[3] => Array ( [0] => 10 )
)
Array_Diff 함수는 둘 이상의 배열을 비교하고 차이를 포함하는 배열을 반환하는 데 사용됩니다. 특히, 다른 배열과 다른 원래 배열에서 요소를 반환합니다.
<?php
$array1 = [1, 2, 3, 4, 5];
$array2 = [4, 5, 6, 7];
$diff = array_diff($array1, $array2); // 찾다 $array1 그리고 $array2 차이
print_r($diff);
?>
출력 결과 :
Array
(
[0] => 1
[1] => 2
[2] => 3
)
위의 예에서 Array_diff는 $ array1 과 $ array2를 비교하고 $ array1 에서 요소를 반환하지만 $ array2 는 아닙니다.
이제이 두 기능을 결합하여 배열 간의 차이를 효율적으로 찾을 수 있습니다. 예를 들어, 두 개의 큰 배열이 있다고 가정하면 먼저 블록으로 분할 한 다음 차별적 비교를 개별적으로 수행 할 수 있습니다.
<?php
$array1 = range(1, 20); // a 1 도착하다 20 배열
$array2 = range(10, 30); // a 10 도착하다 30 배열
// 각각 두 개의 배열을 넣습니다 5 요소는 조각으로 나뉩니다
$chunkedArray1 = array_chunk($array1, 5);
$chunkedArray2 = array_chunk($array2, 5);
// 找出每个块之间차이
foreach ($chunkedArray1 as $chunk1) {
foreach ($chunkedArray2 as $chunk2) {
$diff = array_diff($chunk1, $chunk2); // 찾다每个分块之间차이
if (!empty($diff)) {
echo "차이: \n";
print_r($diff);
}
}
}
?>
출력은 다음과 유사 할 수 있습니다.
차이:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
차이:
Array
(
[0] => 6
[1] => 7
[2] => 8
[3] => 9
)
Array_Chunk 와 Array_diff 함수를 결합하면 몇 가지 실제 문제를 효과적으로 처리 할 수 있습니다. 예를 들어, 빅 데이터 처리에서는 각 데이터 조각과 다른 데이터의 차이점을 찾기 위해 블록의 데이터를 비교해야합니다. 블록 처리를 통해 메모리 사용이 더 효율적 일 수 있으며 한 번에 너무 많은 데이터를로드하지 않도록합니다.
요약
이 기사에서는 배열 간의 차이를 효율적으로 찾기 위해 PHP의 array_chunk 및 array_diff 함수를 사용하는 방법을 소개합니다. Array_chunk는 큰 배열을 작은 조각으로 나누어 더 나은 처리를 도와줍니다. Array_diff를 사용하면 두 배열의 차이점을 찾을 수 있습니다. 이 두 기능을 결합하여 빅 데이터를 처리 할 때 성능과 코드 로직을 단순화합니다.