Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在数组php中累积_Php - Fatal编程技术网

在数组php中累积

在数组php中累积,php,Php,我有一个多维数组 Array ( [0] => Array ( [id] => 2 [id_product_attribute] => 9 ) [1] => Array ( [id] => 2 [id_product_attribute] => 10 ) [2] => Array ( [id] => 2 [id_product_attribute] => 8 ) [3] => Array ( [i

我有一个多维数组

Array ( 
    [0] => Array ( [id] => 2 [id_product_attribute] => 9 ) 
    [1] => Array ( [id] => 2 [id_product_attribute] => 10 ) 
    [2] => Array ( [id] => 2 [id_product_attribute] => 8 ) 
    [3] => Array ( [id] => 3 [id_product_attribute] => 50 ) 
)
我想把这个数组转换成这个形式

Array ( 
    [0] => Array ( [id] => 2 [id_product_attribute] => Array(9,10,8) ) 
    [1] => Array ( [id] => 3 [id_product_attribute] => Array (50) )
)

循环遍历第一个数组并将值合并到第二个数组中,然后使用
array\u values
对第一级数组进行排序:()


你尝试了什么?实际的逻辑是什么?如果你不解释你想做什么,你就如何对这些项目进行分组是毫无意义的。@KasiaGogolek按id分组,不是吗?是的,按id分组可能是
$orig = array( 
    0 => array( 'id' => 2, 'id_product_attribute' => 9 ),
    1 => array( 'id' => 2, 'id_product_attribute' => 10 ),
    2 => array( 'id' => 2, 'id_product_attribute' => 8 ),
    3 => array( 'id' => 3, 'id_product_attribute' => 50 )
);

$array = [];
foreach ($orig as $o) {
    if (!isset($array[$o['id']])) {
        $array[$o['id']] = ['id' => $o['id'], 'id_product_attribute' => []];
    }

    $array[$o['id']]['id_product_attribute'][] = $o['id_product_attribute'];
}

// to get the first array with indexes 0,1...
$result = array_values($array);

print_r($result);