我认为我的问题很容易解决,但对于我的生活,我无法弄清楚.
我需要转换这个多维数组:
[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++; }
解决方法
Ofir缺少位置计数值.
<?PHP // we need to kNow how many locations beforehand $qty = count($additionallocations["Address"]); for ($l=0; $l<$qty; $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 ) )