我有一个关联数组,如下所示:
我想转换它。 它应按" product_service_category_name"进行分组。它看起来应该是这样的:
$productServices = [
'' => [
1 => 'Diverses Service #1',
2 => 'Diverses Service #2'
],
'Beratung' => [
5 => 'Ernährungsberatung'
],
'Massagen' => [
3 => 'Heilmassage',
4 => 'Shiatsu'
]
];
请注意这个事实,价值可能是空的。
有人可以帮我这个吗?
谢谢!
答案 0 :(得分:0)
您可以尝试以下方式:
$productServices = [];
foreach ($data as $value) {
$key = $value['product_service_category_name'];
if (!isset($productServices[$key])) {
$productServices[$key] = [];
}
$productServices[$key][] = $value['product_service_name'];
}
您需要将$data
与您问题中保存数组的变量进行交换。不起作用的是该数组也称为$productServices
。
希望这有帮助!
答案 1 :(得分:0)
function group($array)
{
$group = array();
$key = 'product_service_category_name';
foreach (array_values($array) as $values) {
if ( empty($values[$key])) {
$ptr = 'empty';
}
else {
$ptr = $values[$key];
}
$new_key = $values['product_service_id'];
$group[$ptr][$new_key] = $values['product_service_name'];
}
return $group;
}
$grouped = group($ungrouped);