我有45个元素的数组。我需要从中制造多维数组。 看起来像这样:
Array45: [
0 => {
+'MODEL': "AAA"
+'PRICE': 12.00
+'SUBMODEL_NAME': "abc"
}
1 => {
+'MODEL': "AAA"
+'PRICE': 12.00
+'SUBMODEL_NAME': ""
}
2 => {
+'MODEL': "BBB"
+'PRICE': 12.00
+'SUBMODEL_NAME': "bcd"
}
3 => {
+'MODEL': "AAA"
+'PRICE': 12.00
+'SUBMODEL_NAME': ""
}
]
现在:如果记录不包含“ SUBMODEL_NAME”,则需要将其与先前具有“ SUBMODEL_NAME”的记录放入一个数组中。在这种情况下,它应该看起来像:
Array: [
0 => [
0 => {
+'MODEL': "AAA"
+'PRICE': 12.00
+'SUBMODEL_NAME': "abc"
}
1 => {
+'MODEL': "AAA"
+'PRICE': 12.00
+'SUBMODEL_NAME': ""
}
1 => [
0 => {
+'MODEL': "BBB"
+'PRICE': 12.00
+'SUBMODEL_NAME': "bcd"
}
1 => {
+'MODEL': "AAA"
+'PRICE': 12.00
+'SUBMODEL_NAME': ""
}
]
等
我处于foreach循环中,我尝试将没有SUBMODEL_NAME的每条下一条记录放入上一条,但被卡住。 就像这样:
$j = -1;
$newArray = [];
foreach($items as $item){
if ($index->SUBMODEL_NAME) {
$j++;
$newArray [$j][] = $index ;
}
}
编辑 谢谢大家的帮助!我已经实现了@ user1309690提出的解决方案,看起来效果很好。感谢您的帮助和时间
答案 0 :(得分:3)
尝试一下。
$j = -1;
$newArray = [];
foreach($items as $item){
if ($item['SUBMODEL_NAME']) {
$j++;
}
$newArray [$j][] = $item ;
}
答案 1 :(得分:1)