我有如下所示的数组,这些数据来自具有动态字段的表单。
Array
(
[package-name-1] => package1
[package-serve-1] => sdasd
[package-price-date-1] => 31-03-2020
[foodType-1-1] => Rice
[foodTags-1-1] => rice
[foodNotes-1-1] => notes
[foodchoose-1-1] => 0
[package-name-2] => package2
[package-serve-2] => Leaf
[package-price-date-2] => 12-08-2020
[foodType-2-2] => rice1
[foodTags-2-2] => rice1
[foodNotes-2-2] => dasd
[foodchoose-2-2] => 3
[foodType-2-3] => rice2
[foodTags-2-3] => rice2
[foodNotes-2-3] => qwewe
[foodchoose-2-3] => 0
)我想要像下面这样的数组输出,就像在两个数组中一样,数组应该从包名键中分离出来,并移动到单独的数组中。产出应如下:
array(
[0]=>array(
[package-name-1] => package1
[package-serve-1] => sdasd
[package-price-date-1] => 31-03-2020
[foodType-1-1] => Rice
[foodTags-1-1] => rice
[foodNotes-1-1] => notes
[foodchoose-1-1] => 0
)
[1]=>array(
[package-name-2] => package2
[package-serve-2] => Leaf
[package-price-date-2] => 12-08-2020
[foodType-2-2] => rice1
[foodTags-2-2] => rice1
[foodNotes-2-2] => dasd
[foodchoose-2-2] => 3
[foodType-2-3] => rice2
[foodTags-2-3] => rice2
[foodNotes-2-3] => qwewe
[foodchoose-2-3] => 0
)
)发布于 2020-03-17 11:03:40
你可以通过foreach()和strpos()来完成
$newArray = [];
$k = 0;
foreach($array as $key=>$value){
if(strpos($key,'package-name') !== false){
$explodedkeys = explode('-',$key);
$id = end($explodedkeys);
$k = $id-1;
}
$newArray[$k][$key] = $value;
}
print_r($newArray);https://stackoverflow.com/questions/60720027
复制相似问题