PHP 배열 키 그룹화 기능은 데이터 집계, 필터링 및 변환에 대해 지정된 규칙에 따라 배열 키를 분류할 수 있습니다. 내장 함수에는 array_column(), array_combine() 및 array_group_by()가 포함됩니다. 예를 들어, 사용자 ID별로 주문을 그룹화하거나 접미사별로 키를 필터링하여 배열 데이터를 효율적으로 구성하고 처리할 수 있습니다.
배열 키 그룹화는 사용자 정의 규칙에 따라 배열 키를 그룹화할 수 있는 PHP의 강력한 기능입니다. 이는 다음과 같은 많은 실제 시나리오에서 매우 유용합니다.
PHP는 배열 키 그룹화를 구현하기 위해 다음과 같은 내장 함수를 제공합니다.
array_column()
: 지정된 열(키)의 데이터를 추출합니다. array_column()
:提取指定列(按键)的数据。array_combine()
:将两个数组的键值对合并成一个新数组。array_group_by()
:将数组按给定的键分组(PHP 8.1 引入)。案例 1:按照用户 ID 分组订单
$orders = [ ['user_id' => 1, 'product_id' => 1, 'quantity' => 2], ['user_id' => 1, 'product_id' => 2, 'quantity' => 3], ['user_id' => 2, 'product_id' => 3, 'quantity' => 1], ]; $groupedOrders = array_group_by($orders, 'user_id');
执行后,$groupedOrders
将是一个多维数组,其中每个元素都是一个包含相同用户 ID 的订单数组:
[ 1 => [ ['user_id' => 1, 'product_id' => 1, 'quantity' => 2], ['user_id' => 1, 'product_id' => 2, 'quantity' => 3], ], 2 => [ ['user_id' => 2, 'product_id' => 3, 'quantity' => 1], ], ]
案例 2:过滤具有特定后缀的密钥
$settings = [ 'site.title' => 'My Site', 'site.description' => 'A great website', 'user.name' => 'John Doe', ]; $filteredSettings = array_filter($settings, function($key) { return strpos($key, '.site') !== false; });
执行后,$filteredSettings
将包含仅带有.site
array_combine()
: 두 배열의 키-값 쌍을 새로운 배열로 결합합니다. array_group_by()
: 주어진 키로 배열을 그룹화합니다(PHP 8.1에서 도입됨). 🎜실용 사례🎜🎜🎜사례 1: 사용자 ID별로 주문 그룹화🎜🎜[ 'site.title' => 'My Site', 'site.description' => 'A great website', ]
$groupedOrders
는 다차원 배열이 되며, 여기서 각 요소는 동일한 사용자를 포함하는 배열입니다. ID 순서 배열: 🎜rrreee🎜🎜사례 2: 특정 접미사가 있는 필터 키 🎜🎜rrreee🎜실행 후 $filteredSettings
에는 .site
접미사가 있는 키만 포함됩니다. 키 설정: 🎜rrreee🎜요약🎜🎜배열 키 그룹화 기능을 사용하면 배열 데이터를 쉽고 효율적으로 정리하고 처리할 수 있습니다. 올바른 기능을 선택하고 사용자 지정 규칙을 적용하면 특정 요구 사항에 따라 배열을 유연하게 조작할 수 있습니다. 🎜위 내용은 PHP 배열 키 그룹화 기능 및 응용 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!