Как обработать сложный массив PHP, представленный в форме? - PullRequest
1 голос
/ 01 августа 2011

У меня есть этот массив, отправленный с использованием формы extjs:

$submittedFormaddress = array('city' => array('london', 'boston', 'paris'),
'country' => array('UK', 'USA', 'FRANCE'),
'zip' => array('22222', '33333', '44444'));

Как я могу автоматически создать массив ниже из $ submitFormaddress?

$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'));

Ответы [ 2 ]

1 голос
/ 01 августа 2011

Я бы предложил использовать foreach() для циклического прохождения и детализации.

Я пытался сделать каждое имя переменной описательным:

<?php
foreach ($submittedFormaddress as $address_part => $part_array) {
    foreach($part_array as $index => $name) {
        $clientAddress['address' . ($index + 1)][$address_part] = $name;
    }
}
?>

Рабочий пример

1 голос
/ 01 августа 2011
for ($i = 0; $i < count($submittedFormaddress['city']); $i++)
{
    $clientAddress['address'.$i] = array(
        'city' => $submittedFormaddress['city'][$i],
        'country' => $submittedFormaddress['country'][$i],
        'zip' => $submittedFormaddress['zip'][$i],
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...