Как мне составить список определенных значений в многомерном массиве PHP? - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть многомерный массив, например:

$neighborhood => array(
  'the_smiths' => array(
    'dad'      => 'Donald',
    'mom'      => 'Mary',
    'daughter' => 'Donna',
    'son'      => 'Samuel'
  )
  'the_acostas' => array(
    'dad'      => 'Diego',
    'mom'      => 'Marcela',
    'daughter' => 'Dominga',
    'son'      => 'Sergio'
  )
);

Я хотел бы создать еще один массив (назовем его $array_of_moms) из всех мам по соседству. Вытащить их все по отдельности можно, но не практично (например, так):

$array_of_moms = array(
  $neighborhood['the_smiths']['mom'],
  $neighborhood['the_acostas']['mom'],
)

Как мне создать что-то вроде этого:

$array_of_moms = $neighborhood['mom'];

Ответы [ 3 ]

1 голос
/ 14 сентября 2011
$moms = array();
foreach($neighborhood as $family)
{
    $moms[] = $family['mom'];
}

Это будет перебирать каждое семейство в массиве и добавлять маму в новый массив $moms.

0 голосов
/ 14 сентября 2011

Используя foreach , вы можете перебирать массив с переменными показателями.

$array_of_moms = array();

foreach ($neighborhood AS $family) {
    $array_of_moms[] = $family['mom']; // append mom of each family to array
}
0 голосов
/ 14 сентября 2011

Если вы можете манипулировать вашим массивом, вы можете:

<?php

$neighborhood = array(
  'families' => array(
    'the_smiths' => array(
      'dad'      => 'Donald',
      'mom'      => 'Mary',
      'daughter' => 'Donna',
      'son'      => 'Samuel'
      ),
    'the_acostas' => array(
      'dad'      => 'Diego',
      'mom'      => 'Marcela',
      'daughter' => 'Dominga',
      'son'      => 'Sergio'
    )
  )
);

foreach ($neighborhood['families'] as $family => $folks) {
    $neighborhood['moms'][] = $folks['mom'];
}

print_r($neighborhood);

?>

Какие выходы:

Array
(
    [families] => Array
        (
            [the_smiths] => Array
                (
                    [dad] => Donald
                    [mom] => Mary
                    [daughter] => Donna
                    [son] => Samuel
                )

            [the_acostas] => Array
                (
                    [dad] => Diego
                    [mom] => Marcela
                    [daughter] => Dominga
                    [son] => Sergio
                )

        )

    [moms] => Array
        (
            [0] => Mary
            [1] => Marcela
        )

)

http://codepad.org/xbnj5UmV

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...