>  기사  >  백엔드 개발  >  가치 함수 및 모범 사례를 기준으로 PHP 배열 그룹화

가치 함수 및 모범 사례를 기준으로 PHP 배열 그룹화

王林
王林원래의
2024-05-04 13:30:011031검색

PHP 数组按值分组的函数和最佳实践

값 함수 및 모범 사례에 따른 PHP 배열 그룹화

array_group_by 함수

PHP 8.0에서는 지정된 키 또는 콜백 함수를 기반으로 배열 요소를 그룹화하기 위한 array_group_by() 함수를 도입했습니다. 구문은 다음과 같습니다: array_group_by() 函数,用于根据指定键或回调函数对数组元素进行分组。其语法如下:

array_group_by(array $array, mixed $key_or_callback, bool $preserve_keys = false): array
  • $array:要分组的数组。
  • $key_or_callback:提取分组键的数组键名或回调函数。
  • $preserve_keys:可选参数,指定是否保留原始键。默认为 false

实例

$fruits = [
    ['name' => 'Apple', 'type' => 'Red'],
    ['name' => 'Banana', 'type' => 'Yellow'],
    ['name' => 'Orange', 'type' => 'Orange'],
    ['name' => 'Mango', 'type' => 'Yellow'],
];

$grouped_by_type = array_group_by($fruits, 'type');

// 输出按类型分组后的数组
print_r($grouped_by_type);

输出:

Array
(
    [Red] => Array
    (
        [0] => Array
        (
            [name] => Apple
            [type] => Red
        )
    )
    [Yellow] => Array
    (
        [0] => Array
        (
            [name] => Banana
            [type] => Yellow
        )
        [1] => Array
        (
            [name] => Mango
            [type] => Yellow
        )
    )
    [Orange] => Array
    (
        [0] => Array
        (
            [name] => Orange
            [type] => Orange
        )
    )
)

最佳实践

除了 array_group_by() 函数之外,还有其他分组数组的方法。选择合适的方法取决于特定情况。

  • 如果需要按单个键分组,可以使用 group_by 辅助函数:
function group_by(array $array, string $key): array
{
    $result = [];
    foreach ($array as $item) {
        $result[$item[$key]][] = $item;
    }
    return $result;
}
  • 如果需要按多个键分组,可以使用 array_reduce() 函数:
$grouped_by_type_and_name = array_reduce($fruits, function($result, $item) {
    $result[$item['type']][$item['name']] = $item;
    return $result;
}, []);
  • 如果需要对数组按键名分组,可以使用 array_column()
    $grouped_by_name = array_column($fruits, null, 'name');
    • $array: 그룹화할 배열.
    • $key_or_callback: 그룹 키의 배열 키 이름 또는 콜백 함수를 추출합니다.
  • $preserve_keys: 원래 키를 유지할지 여부를 지정하는 선택적 매개변수입니다. 기본값은 false입니다.

    🎜예🎜rrreee🎜출력: 🎜rrreee🎜모범 사례🎜🎜 array_group_by() 함수 외에도 배열을 그룹화하는 다른 방법이 있습니다. 적절한 방법을 선택하는 것은 특정 상황에 따라 다릅니다. 🎜
    • 단일 키로 그룹화해야 하는 경우 group_by를 사용할 수 있습니다. 보조 기능: 🎜🎜rrreee
      • 여러 키로 그룹화해야 하는 경우 array_reduce()를 사용할 수 있습니다. 함수: 🎜🎜rrreee
        • 배열 키 이름을 그룹화해야 하는 경우 array_column() 함수를 사용할 수 있습니다. 🎜🎜rrreee 🎜프로젝트 요구 사항 및 데이터 구조에 따라 선택 최적의 그룹화 방법이 중요합니다. 🎜

위 내용은 가치 함수 및 모범 사례를 기준으로 PHP 배열 그룹화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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