【发布时间】:2020-04-27 15:13:35
【问题描述】:
这是我更新的问题。我有一个对象数组,如下所示:
array:113 [
0 => Data\Entity {#1024
-manufacturer: "Test1"
-colour: "polar-silber"
-design: "Bavaro"
-diameter: 17
}
1 => Data\Entity {#1524
-manufacturer: "Test1"
-colour: "polar-silber"
-design: "Bavaro"
-diameter: 18
}
2 => Data\Entity {#1724
-manufacturer: "Test2"
-colour: "polar-silber"
-design: "Drive"
-diameter: 17
}
我必须根据常见的制造商、颜色和设计制作一个逗号分隔的直径。
我的最终输出应该是这样的:
array:5 [
0 => Data\Entity {#1024
-manufacturer: "Test1"
-colour: "polar-silber"
-design: "Bavaro"
-diameter: "17, 18"
}
1 => Data\Entity {#1724
-manufacturer: "Test2"
-colour: "polar-silber"
-design: "Drive"
-diameter: "17"
}
到目前为止我尝试过的是:
$manufacturer = $wheel->getManufacturer();
$design = $wheel->getDesign();
$colour = $wheel->getColour();
$key = $manufacturer. "_". $design. "_". $colour;
$wheelsArray[$key] = $wheel;
if (array_key_exists($key, $wheelsArray)) {
$dia = $wheelsArray[$key]->getDiameter();
$dia .= ', ' . $wheel->getDiameter();
$wheelsArray[$key]->setDiameter($dia);
}
在这里,我得到的是直径:“17, 17”而不是“17, 18”
谁能帮我看看我犯了什么错误?
【问题讨论】:
-
$wheelsArray[$key] = $wheel;应该在里面吗? -
是的,我想是的。我正在尝试将新直径附加到以前的直径
标签: php arrays object grouping