PHP에서 지정된 키 이름에 따라 여러 배열을 하나의 배열로 병합하는 방법
개발 중에 지정된 키 이름에 따라 여러 배열을 하나의 배열로 병합해야 하는 경우가 종종 있습니다. 이러한 요구는 데이터 작업 시, 특히 데이터베이스 결과 세트 작업 시 매우 일반적입니다. 이 기사에서는 이 기능을 수행하는 몇 가지 일반적인 방법을 소개하고 해당 코드 예제를 제공합니다.
방법 1: 루프 순회 사용
가장 간단한 방법은 루프를 사용하여 모든 배열을 순회하고 지정된 키 이름에 따라 해당 값을 새 배열에 추가하는 것입니다. 샘플 코드는 다음과 같습니다.
function mergeArrays($key, ...$arrays) { $result = []; foreach ($arrays as $array) { if (isset($array[$key])) { $result[] = $array[$key]; } } return $result; } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
위 코드를 실행하면 출력 결과는 다음과 같습니다.
Array ( [0] => Alice [1] => Bob [2] => Charlie )
방법 2: array_map 함수
array_map 함수를 사용하여 여러 배열에 콜백 함수를 적용하고 새 배열을 반환합니다. 이 함수를 사용하여 여러 배열을 병합할 수 있습니다. 샘플 코드는 다음과 같습니다.
function mergeArrays($key, ...$arrays) { $callback = function ($array) use ($key) { return $array[$key] ?? null; }; $result = array_map($callback, $arrays); return array_filter($result, function($value) { return $value !== null; }); } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
위 코드를 실행하면 출력 결과는 다음과 같습니다.
Array ( [0] => Alice [1] => Bob [2] => Charlie )
방법 3: array_reduce 함수 사용
array_reduce 함수는 배열의 요소를 반복적으로 처리하는 데 사용되며 지정된 지침에 따라 처리합니다. 콜백 함수 및 최종 결과를 반환합니다. 이 함수를 사용하여 여러 배열을 병합할 수 있습니다. 샘플 코드는 다음과 같습니다.
function mergeArrays($key, ...$arrays) { $callback = function ($result, $array) use ($key) { if (isset($array[$key])) { $result[] = $array[$key]; } return $result; }; $result = array_reduce($arrays, $callback, []); return $result; } $array1 = ['id' => 1, 'name' => 'Alice']; $array2 = ['id' => 2, 'name' => 'Bob']; $array3 = ['id' => 3, 'name' => 'Charlie']; $result = mergeArrays('name', $array1, $array2, $array3); print_r($result);
위 코드를 실행하면 출력 결과는 다음과 같습니다.
Array ( [0] => Alice [1] => Bob [2] => Charlie )
위는 지정된 키 이름에 따라 여러 배열을 하나의 배열로 병합하는 몇 가지 일반적인 방법의 예입니다. 실제 상황에 따라 적절한 방법을 선택하면 코드의 효율성과 가독성을 크게 향상시킬 수 있습니다. 도움이 되었기를 바랍니다!
위 내용은 PHP에서 지정된 키 이름에 따라 여러 배열을 하나의 배열로 병합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!