我认为我的问题很容易解决,但对于我的生活,我无法弄清楚.
我需要转换这个多维数组:
[additionallocations] => Array
(
[Address] => Array
(
[0] => Address1
[1] => Address2
)
[City] => Array
(
[0] => City1
[1] => City2
)
[State] => Array
(
[0] => AK
[1] => DC
)
[Zip] => Array
(
[0] => 234423
[1] => 32423
)
[Country] => Array
(
[0] => US
[1] => US
)
)
进入:
[additionallocations0] => Array
(
[Address] => Address1
[City] => City1
[State] => AK
[Zip] => 234423
[Country] => US
)
[additionallocations1] => Array
(
[Address] => Address2
[City] => City2
[State] => DC
[Zip] => 32423
[Country] => US
)
我尝试过使用foreach循环但是我无法得到预期的结果:
$count = 0;
foreach($_POST['additionallocations'] as $value => $key) {
foreach($key as $row) {
$additional['additional'.$count] = array($value => $row);
}
$count++;
}
这是一个phpfiddle我需要将$locationsBAD数组转换为$locationsGOOD数组
解决方法:
Ofir缺少位置计数值.
以下是我解决您问题的方法:
// we need to know how many locations beforehand
$qty = count($additionallocations["Address"]);
for ($l=0; $l
{
foreach($additionallocations as $param => $values)
{
$new_locations['location'.$l][$param] = $values[$l];
}
}
print_r($new_locations);
?>
我得到:
Array
(
[location0] => Array
(
[Address] => Address1
[City] => City1
[State] => AK
[Zip] => 234423
[Country] => US
)
[location1] => Array
(
[Address] => Address2
[City] => City2
[State] => DC
[Zip] => 32423
[Country] => US
)
)
标签:php,arrays
来源: https://codeday.me/bug/20190716/1477719.html