현재 위치: > 최신 기사 목록> 조건부 필터링 및 병합을 구현하기 위해 Array_Filter와 결합합니다

조건부 필터링 및 병합을 구현하기 위해 Array_Filter와 결합합니다

M66 2025-05-15

PHP에서 array_combinearray_filter는 배열을 처리 할 때 복잡한 작업을 완료하는 데 도움이되는 두 가지 매우 실용적인 기능입니다. 오늘날, 우리는이 두 기능을 함께 사용하여 조건에 따라 필터링 작업을 달성 한 다음 어레이를 병합하는 방법을 살펴 봅니다.

1. array_combine 함수 소개

Array_combine 함수는 두 배열을 연관 배열로 결합하는 데 사용됩니다. 첫 번째 매개 변수는 배열의 키 이름이고 두 번째 매개 변수는 배열 값입니다. 두 배열의 길이는 동일해야하며, 그렇지 않으면 False가 반환됩니다.

예:

 $keys = ['a', 'b', 'c'];
$values = [1, 2, 3];
$combined = array_combine($keys, $values);
print_r($combined);

산출:

 Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

2. Array_Filter 기능 소개

Array_Filter 함수는 배열에서 요소를 필터링하는 데 사용되며, 주어진 콜백 함수를 기준으로 유지되는 요소와 어떤 요소가 제거 되는지 결정합니다. 콜백 함수가 전달되지 않으면 False 값으로 요소를 삭제합니다.

예:

 $array = [1, 2, 3, 4, 5];
$filtered = array_filter($array, function($value) {
    return $value > 2;
});
print_r($filtered);

산출:

 Array
(
    [2] => 3
    [3] => 4
    [4] => 5
)

위의 예에서는 array_filter가 콜백 함수를 통해 2보다 큰 요소를 필터링합니다.

3. array_combinearray_filter를 결합하여 필터링을 완료하십시오

이제 Array_combineArray_filter를 결합하여 먼저 기준을 충족하지 않는 요소를 필터링 한 다음 Array_combine을 통해 연관 배열로 병합 할 수 있습니다.

키 이름의 배열과 값 배열이 있다고 가정하고 특정 조건에 따라 값 배열에서 일부 요소를 필터링 한 다음 필터링 된 키 값 쌍을 새 배열로 병합하려고합니다.

예:

 $keys = ['a', 'b', 'c', 'd'];
$values = [10, 20, 5, 15];

// 먼저 값을 필터링하는 것은보다 적습니다 10 강요
$filtered_values = array_filter($values, function($value) {
    return $value >= 10;
});

// 필터링 된 값을 키 이름 번호와 결합하십시오
$combined = array_combine($keys, $filtered_values);
print_r($combined);

산출:

 Array
(
    [a] => 10
    [b] => 20
    [d] => 15
)

설명하다:

  1. Array_Filter를 사용하여 값이 10 미만인 요소를 필터링합니다.

  2. 그런 다음 array_combine을 사용하여 키 이름 array $ 키 와 필터링 된 값 배열 $ filtered_values를 새로운 연관 배열로 병합하십시오.

알아채다:

  • Array_combine 의 두 배열은 길이가 같은 길이를 가져야합니다. 그렇지 않으면 False가 반환됩니다. 따라서 실제 애플리케이션에서 필터링 된 값 배열과 키 이름 배열이 길이가 동일해야합니다.

  • Array_Filter를 사용하면 원래 배열의 키를 유지하므로 Array_combine을 호출하는 데 문제가있을 수 있습니다. 주문을 일관성있게 유지 해야하는 경우 Array_Values를 사용하여 배열의 키를 재설정 할 수 있습니다.

 $filtered_values = array_values($filtered_values);

이것은 배열의 키가 0 에서 시작되고 길이가 일치하도록합니다.

4. 요약

Array_combineArray_Filter를 결합하여 조건에 따라 필터링 기능을 유연하게 구현 한 다음 병합 배열을 유연하게 구현할 수 있습니다. 이 방법은 데이터를 처리 할 때 효율적인 필터링 및 병합 작업을 수행하는 데 도움이 될 수 있으며 동적 조건에 따라 데이터 구조를 조정 해야하는 시나리오에 특히 적합합니다.

이 튜토리얼을 통해이 두 기능의 사용을 더 잘 이해하고 실제 프로젝트에 유연하게 적용될 수 있기를 바랍니다.