Объединение данных многомерного массива - PullRequest
1 голос
/ 12 августа 2011

У меня есть такой массив

Array ( [0] => Array (  [id] => 1 
                        [name] => PeopleOne
                        [address] => AddressOneOfPeopleOne 

        [1] => Array (  [id] => 2 
                        [name] => PeopleTwo 
                        [address] => AddressOneOfPeopleTwo 

        [2] => Array (  [id] => 3 
                        [name] => PeopleThree 
                        [address] => AddressOneOfPeopleThree 

        [3] => Array (  [id] => 4 
                        [name] => PeopleOne
                        [address] => AddressTwoOfPeopleOne 

и я хочу этот формат

Array ( [0] => Array (  [id] => 1 
                        [name] => PeopleOne
                        [address] => Array(
                                    [0] => AddressOneOfPeopleOne
                                    [1] => AddressTwoOfPeopleOne
                        )

        [1] => Array (  [id] => 2 
                        [name] => PeopleTwo 
                        [address] => AddressOneOfPeopleTwo 

        [2] => Array (  [id] => 3 
                        [name] => PeopleThree 
                        [address] => AddressOneOfPeopleThree 

Я не знаю, как это сделать? Может ли кто-нибудь решить эту проблему?

Ответы [ 2 ]

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

У меня такое ощущение, что это не совсем то, что вы ищете, но я не совсем уверен, что должно быть внутри окончательного массива. Как это, по крайней мере, для начала?

<code><?php
$array = array(
array('id' => 1, 'name' => 'PeopleOne', 'address' => 'Address1'),
array('id' => 2, 'name' => 'PeopleTwo', 'address' => 'Address2'),
array('id' => 3, 'name' => 'PeopleOne', 'address' => 'Address3')
);


foreach ($array as $k => $v) {
$newarray[$v['name']][] = $v['address'];
}

echo '<pre>'.print_r($array,1).'
'; echo '
'.print_r($newarray,1).'
'; ?>
0 голосов
/ 12 августа 2011

Я предполагаю, что ваш массив называется $ array.

foreach ($array as $subArray) {
    if (!is_array($subArray['address']) {
        $subArray['address'] = array($subArray['adress']);
    }
    $subArray['address'][] = 'AddressTwoOfPeopleOne';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...