gpt4 book ai didi

php - 在 foreach 循环中创建多维数组

转载 作者:可可西里 更新时间:2023-10-31 23:00:37 24 4
gpt4 key购买 nike

我有一个包含 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 提出的解决方案,看起来效果很好。感谢您的帮助和时间

最佳答案

试试这个。

$j = -1;
$newArray = [];
foreach($items as $item){
if ($item['SUBMODEL_NAME']) {
$j++;
}
$newArray [$j][] = $item ;
}

关于php - 在 foreach 循环中创建多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56898800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com