Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理表单提交的复杂php数组?_Php_Arrays_Forms - Fatal编程技术网

如何处理表单提交的复杂php数组?

如何处理表单提交的复杂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

我使用extjs表单提交了此数组:

$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;
    }
}
?>