PHP에서 Array_Chunk 및 Array_Filter 는 매우 유용한 기능입니다. Array_Chunk는 큰 배열을 작은 조각으로자를 수 있지만 Array_Filter는 배열의 각 요소에 필터링 조건을 적용하여 조건을 충족하는 요소를 유지할 수 있습니다. 이 두 기능을 결합하면 블록별로 데이터를 효율적으로 필터링 할 수 있습니다.
우리가 많은 요소가있는 배열을 가지고 있다고 가정하고 특정 블록 크기로 배열을 슬라이스하고 특정 조건을 충족하는 요소 만 유지한다고 가정합니다. 그런 다음 Array_Chunk를 사용하여 슬라이스를 사용한 다음 Array_Filter를 사용하여 각 슬라이스의 요소를 필터링 할 수 있습니다.
사용자 이름과 연령이 포함 된 다양한 사용자가 있다고 가정 해 봅시다. 블록으로 18 세 이상 또는 동일한 사용자를 필터링해야합니다.
<?php
// 원시 데이터 배열
$users = [
['name' => 'Alice', 'age' => 25],
['name' => 'Bob', 'age' => 17],
['name' => 'Charlie', 'age' => 20],
['name' => 'David', 'age' => 15],
['name' => 'Eva', 'age' => 22],
['name' => 'Frank', 'age' => 19],
];
// 블록으로 분할 배열
$chunks = array_chunk($users, 2); // 각 블록에는 포함됩니다 2 사용자
// 각 조각을 필터링하십시오,나이를 유지하십시오 >= 18 사용자
$filteredChunks = array_map(function($chunk) {
return array_filter($chunk, function($user) {
return $user['age'] >= 18;
});
}, $chunks);
// 필터링 된 결과를 인쇄합니다
print_r($filteredChunks);
?>
Array_Chunk ($ user, 2)는 원래 사용자 배열을 블록 당 2 명의 사용자를 포함하는 작은 배열로 나눕니다.
Array_Map을 사용하면 Array_Filter 기능을 각 작은 배열 (즉, 각 데이터 조각)에 적용 할 수 있습니다.
Array_Filter는 사용자 [ 'age']> = 18의 조건에 따라 연령 요구 사항을 충족하는 사용자를 필터링합니다.
마지막으로 $ FilterdChunks 배열에는 각 블록의 필터링 데이터가 포함됩니다.
Array
(
[0] => Array
(
[0] => Array
(
[name] => Alice
[age] => 25
)
[2] => Array
(
[name] => Charlie
[age] => 20
)
)
[1] => Array
(
[4] => Array
(
[name] => Eva
[age] => 22
)
[5] => Array
(
[name] => Frank
[age] => 19
)
)
)
실제 조건에 따라 다른 요구를 충족시키기 위해 필터 조건을 수정할 수 있습니다. 예를 들어, 18 세에서 30 세 사이의 사용자를 필터링하려면 필터링 기능을 조정할 수 있습니다.
$filteredChunks = array_map(function($chunk) {
return array_filter($chunk, function($user) {
return $user['age'] >= 18 && $user['age'] <= 30;
});
}, $chunks);
이런 식으로 다양한 필터링 요구를 유연하게 처리 할 수 있습니다.
Array_Chunk 와 Array_Filter 의 조합을 통해 큰 배열을 청크로 쉽게 처리하고 각 블록 내에서 조건부 필터링을 수행 할 수 있습니다. 이 방법은 많은 양의 데이터를 처리하는 데 적합하며, 이는 메모리 소비를 효과적으로 줄이고 성능을 향상시킬 수 있으며 코드를보다 간결하고 이해하기 쉽게 만듭니다.
이 기사가 array_chunk 및 array_filter 의 사용법을 이해하는 데 도움이되기를 바랍니다! 궁금한 점이 있거나 다른 PHP 기능에 관심이 있으시면 웹 사이트를 방문하십시오!