Как получить массив в массиве? - PullRequest
0 голосов
/ 28 апреля 2011

мой массив выглядит так

 Array
    (
        [mes_id] => 1852
        [frm_id] => 376
        [network] => Array
            (
                [0] => Array
                    (
                        [alerttitle] => enter_nv
                        [alertImageUrl] => photos/952a7253eda21b936489d0f7b35f953bth.jpeg
                        [alertDescription] => (1) Network Invitation(s)
                        [alertType] => Network
                        [count] => 1
                        [id] => 376
                    )

            )
[msg] => Array
        (
            [0] => Array
                (
                    [alerttitle] => Raven Lexy
                    [alertImageUrl] => photos/81951b37ad01c4aa65662956f178214eth.jpeg
                    [alertDescription] => (1) New Message(s)
                    [alertType] => New Message
                    [count] => 1
                    [id] => 51
                )

            [1] => Array
                (
                    [alerttitle] => Raven Lexy
                    [alertImageUrl] => photos/81951b37ad01c4aa65662956f178214eth.jpeg
                    [alertDescription] => (1) New Message(s)
                    [alertType] => New Message
                    [count] => 1
                    [id] => 51
                )

        )

    )

как я могу получить алерты из каждого массива?

пожалуйста, помогите, спасибо.

Ответы [ 3 ]

5 голосов
/ 28 апреля 2011

После вашего обновления

$titles = array();
$titles[] = $array['network'][0]['alerttitle'];

foreach ($array['msg'] as $item) {
  $titles[] = ['alerttitle'];
}

print_r($titles);
2 голосов
/ 28 апреля 2011
$array['network'][0]['alerttitle'];

или

for ($i=0; $i < count($array['network']); $i++) { 
  echo $array['network'][$i]['alerttitle'];
}

если их более одного

к вашему измененному примеру:

$array = array(
'foobar' => array(
    'foo' => 'afoasfd',
    'alerttitle' => 'fasfdasf'
  ), 
  'alerttitle' => 'foobar'
);

$output = array();

array_walk_recursive($array, 'foo', &$output);
function foo($val, $key, $obj){
  if($key == 'alerttitle') array_push($obj, $val);
}
print_r($output);
0 голосов
/ 28 апреля 2011

Если это $ a,

$alertTitle = $a['network'][0]['alerttitle'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...