如何处理表单提交的复杂php数组?
我使用extjs表单提交了此数组:如何处理表单提交的复杂php数组?,php,arrays,forms,Php,Arrays,Forms,我使用extjs表单提交了此数组: $submittedFormaddress = array('city' => array('london', 'boston', 'paris'), 'country' => array('UK', 'USA', 'FRANCE'), 'zip' => array('22222', '33333', '44444')); 如何从$submittedFormaddress自动创建以下数组 $clientAddress=array('addr
$submittedFormaddress = array('city' => array('london', 'boston', 'paris'),
'country' => array('UK', 'USA', 'FRANCE'),
'zip' => array('22222', '33333', '44444'));
如何从$submittedFormaddress自动创建以下数组
$clientAddress=array('address1'=>array
('city'=>'london','country'=>'UK','zip'=>'2222'),'address2'=>array
('city'=>'boston','country'=>'USA','zip'=>'3333'),'address3'=>array
('city'=>'paris','country'=>'FRANCE','zip'=>'44444'));
for($i=0;$i$submittedFormaddress['city'][$i],
“国家”=>$submittedFormaddress['country'][$i],
'zip'=>$submittedFormaddress['zip'][$i],
);
}
我建议使用循环和向下钻取
我试图使每个变量名具有描述性:
<?php
foreach ($submittedFormaddress as $address_part => $part_array) {
foreach($part_array as $index => $name) {
$clientAddress['address' . ($index + 1)][$address_part] = $name;
}
}
?>
我建议您使用
array\u key
来降低解决方案的脆弱性。这将创建以address0
开头的数组键,而不是像OP所示的address1
。谢谢您的回答,但请不要告诉我,我不知道提交了哪些表单字段,所以我不应该手动设置它们。您的代码有助于更深入地理解数组,并有助于a+。
<?php
foreach ($submittedFormaddress as $address_part => $part_array) {
foreach($part_array as $index => $name) {
$clientAddress['address' . ($index + 1)][$address_part] = $name;
}
}
?>