php - 用 PHP 分组数组结构
问题描述
我需要从这个数组重新排列:
Array
(
[0] => Array
(
[0] => Qty
[1] => 1
[2] => 3
)
[1] => Array
(
[0] => Item No
[1] => ABC345
[2] => FGR8765
)
[2] => Array
(
[0] => Description
[1] => Lores ipsum
[2] => Dolores sit amet
[3] => quasi architecto beatae:
[4] => sed quia consequuntur
[5] => consectetur, adipisci velit
)
[3] => Array
(
[0] => Price
[1] => $10
[2] => $20
)
变成这样:
Array
(
[0] => array(
'Qty' => 1,
'Item No' => 'ABC345',
'Description' => 'Lores ipsum',
'Price' => $10
)
[1] => array(
'Qty' => 3,
'Item No' => 'FGR8765',
'Description' => 'Dolores sit amet quasi architecto beatae sed quia consequuntur consectetur, adipisci velit',
'Price' => $20
)
)
每个数组的 0 索引是键的名称:数量、项目编号、描述、价格。如果索引大于第一个数组的数量,则合并值,正如我们在描述键上看到的,值数组编号 3、4、5 合并到数组编号 2。
到目前为止,这是我的尝试:
$itemList = array();
foreach($result as $i => $valueKey)
{
if($i == 0) {
$max = count($valueKey);
}
foreach($valueKey as $y => $item)
{
$itemList[] = array(
$item[0] => $item
);
}
}
解决方案
$input = array(/* input array */);
$output = array(/* output array */);
foreach ($input as $property)
{
$propcount = count($property);
for ($i = 1; $i < $propcount; $i++)
$output[$i - 1][$property[0]] = $property[$i];
}