【发布时间】:2017-10-03 07:52:38
【问题描述】:
我有一个对象数组,我需要组合具有相同键的子数组。这是我的原始数组。
0 =>
object(Template)[59]
protected 'values' =>
array (size=3)
'part' => string 'hinge'
'part_status' => string 'warehouse'
'part_type' => string 'consumable'
1 =>
array (size=1)
'3741852' =>
object(Template)[61]
protected 'values' =>
array (size=4)
'partNum' => string '3741852'
'part' => string 'bolt'
'part_status' => string 'shipped'
'part_type' => string 'consumable'
2 =>
array (size=1)
'3741852' =>
object(Template)[61]
protected 'values' =>
array (size=4)
'partNum' => string '3741852'
'part' => string 'bolt'
'part_status' => string 'shipped'
'part_type' => string 'consumable'
最终我需要做的是将两个数组与索引3741852 结合起来,并将它们放在同一个父索引下。
所以我设法做到了,就像这样。
foreach ($array as $key => $value) {
foreach ($value as $data) {
$partDetails[][$data['partNum']] = $details;
if ($key === $data['partNum']) {
$partDetails[$key] = $details;
}
}
}
但我不确定如何删除之前的索引 [2]?这是我目前拥有的。
0 =>
object(Template)[59]
protected 'values' =>
array (size=3)
'part' => string 'hinge'
'part_status' => string 'warehouse'
'customer_type' => string 'consumable'
1 =>
array (size=1)
'3741852' =>
object(Template)[61]
protected 'values' =>
array (size=4)
'partNum' => string '3741852'
'part' => string 'bolt'
'part_status' => string 'shipped'
'part_type' => string 'consumable'
'3741852' =>
object(Template)[61]
protected 'values' =>
array (size=4)
'partNum' => string '3741852'
'part' => string 'bolt'
'part_status' => string 'shipped'
'part_type' => string 'consumable'
2 =>
array (size=1)
'3741852' =>
object(Template)[61]
protected 'values' =>
array (size=4)
'partNum' => string '3741852'
'part' => string 'bolt'
'part_status' => string 'shipped'
'part_type' => string 'consumable'
【问题讨论】:
-
请允许我怀疑在您的索引 1 中,您有一个包含 2 个项目的数组,其键相同
3741852 -
这正是
var_dump的显示方式。我觉得奇怪的是它没有像顶部那样显示为一个数组。我不熟悉对象,所以可能有问题。我也觉得奇怪的是他们似乎有相同的钥匙。 -
注意数组 (size=1) 的含义?
-
我最终只是根据需要构建了一个新数组,而不是尝试修改它。
标签: php arrays object multidimensional-array