>백엔드 개발 >PHP 튜토리얼 >2D PHP 배열을 열 값으로 효율적으로 그룹화하는 방법은 무엇입니까?

2D PHP 배열을 열 값으로 효율적으로 그룹화하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-26 02:27:09224검색

How to Efficiently Group a 2D PHP Array by Column Value?

PHP를 사용하여 열 값별로 2D 배열을 효율적으로 그룹화

특정 열 값으로 다차원 배열을 그룹화하면 데이터 구성 및 검색이 향상될 수 있습니다. 이 작업을 위한 기본 PHP 함수는 없지만 foreach 루프를 사용하는 사용자 지정 접근 방식을 사용하면 이 목표를 효과적으로 달성할 수 있습니다.

문제:

다음을 나타내는 2D 배열을 고려하세요. 데이터 행:

$array = [
    [
        'id' => 96,
        'shipping_no' => '212755-1',
        'part_no' => 'reterty',
        'description' => 'tyrfyt',
        'packaging_type' => 'PC',
    ],
    [
        'id' => 96,
        'shipping_no' => '212755-1',
        'part_no' => 'dftgtryh',
        'description' => 'dfhgfyh',
        'packaging_type' => 'PC',
    ],
    [
        'id' => 97,
        'shipping_no' => '212755-2',
        'part_no' => 'ZeoDark',
        'description' => 's%c%s%c%s',
        'packaging_type' => 'PC',
    ],
];

'id' 열을 기준으로 배열 요소를 그룹화하고 하위 배열을 형성하는 것이 목표입니다.

해결책:

foreach 루프 사용:

$result = [];
foreach ($data as $element) {
    $result[$element['id']][] = $element;
}

설명:

foreach 루프는 $data 배열의 각 요소를 반복합니다. 각 요소에 대해 'id' 열을 확인하고 이를 $result 배열의 키로 사용합니다. 키(id)가 이미 존재하는 경우 해당 하위 배열에 새 요소가 추가됩니다.

출력:

$result 배열은 ' id' 열을 사용하여 결과는 다음과 같습니다.

$result = [
    96 => [
        [
            'id' => 96,
            'shipping_no' => '212755-1',
            'part_no' => 'reterty',
            'description' => 'tyrfyt',
            'packaging_type' => 'PC',
        ],
        [
            'id' => 96,
            'shipping_no' => '212755-1',
            'part_no' => 'dftgtryh',
            'description' => 'dfhgfyh',
            'packaging_type' => 'PC',
        ],
    ],
    97 => [
        [
            'id' => 97,
            'shipping_no' => '212755-2',
            'part_no' => 'ZeoDark',
            'description' => 's%c%s%c%s',
            'packaging_type' => 'PC',
        ],
    ],
];

이 방법은 지정된 항목별로 2D 배열을 그룹화하는 유연하고 효율적인 방법을 제공합니다. 컬럼 값을 제공하여 효율적인 데이터 추출 및 조작이 가능합니다.

위 내용은 2D PHP 배열을 열 값으로 효율적으로 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.