Как отобразить значения из массива для использования в цикле? - PullRequest
0 голосов
/ 03 июля 2011

Как я могу превратить это

Array
(
    [0] => feed
    [1] => entry
)

в это:

foreach ($data->feed->entry as $item) { // Yep, we made it }

Первый массив может иметь любое количество значений, поэтому решение должно быть гибким.

EDIT: Догберт дал мне идеальный ответ, но чтобы сделать это более ясным для будущего. У меня есть только один массив. Исходя из этого мне нужно получить массив из объекта. Так что мой массив может выглядеть так же:

[0] => world
[1] => countries
[2] => finland
[3] => helsinki
[4] => people

И тогда мне нужно получить:

foreach ($data->world->countries->finland->helsinki->people as $item) {}

Ответы [ 2 ]

0 голосов
/ 03 июля 2011

Если вам нужно значение key => в цикле, сделайте это так:

foreach ($data->feed->entry as $key=>$item) {
// Yep, we made it
echo 'This is key:'.$key.' this is item: '.$item;
}

вы получите результат

Это ключ: 0 это элемент: feedЭто ключ: 1 это элемент: запись

0 голосов
/ 03 июля 2011
function map_property($obj, $array) {
  $ret = $obj;
  foreach($array as $prop) {
    $ret = $ret->$prop;
  }
  return $ret;
}

foreach(map_property($data, array('feed', 'entry')) as $item) { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...