2012-02-23 6 views
1

У меня есть массив, который выглядит следующим образом, кроме как с более чем 40 болееСквозные Вложенные циклы

Array 
(
    [0] => stdClass Object 
     (
      [id] => 1 
      [name] => name 
      [cost] => 20 
      [firstname] => 
       (
        [0] => first 1 
        [1] => first 2 
       ) 
      [lastname] => 
       (
        [0] => last 1 
        [1] => last 2 
       ) 
      [username] => 
       (
        [0] => username 1 
        [1] => username 2 
       ) 
     ) 
    [0] => stdClass Object 
     (
      [id] => 1 
      [name] => name 
      [cost] => 20 
      [firstname] => 
       (
        [0] => first 1 
        [1] => first 2 
       ) 
      [lastname] => 
       (
        [0] => last 1 
        [1] => last 2 
       ) 
      [username] => 
       (
        [0] => username 1 
        [1] => username 2 
       ) 
     ) 
(

Я делаю что-то вроде этого, чтобы получить НЕРАСПРОСТРАНЕНИИ вложенные массивы:

foreach($data as $row){ 
    echo $row->id 
} 

но что бы я сделать, чтобы получить вложенные массивы? Я хочу быть в состоянии отображать их как:

Имя Фамилия

имя пользователя

+0

Почему у вас мало объектов с массивами первых имен? – Michas

+0

Что у меня есть продукт, то обзор, имена - все, кто просмотрел – Jacinto

+0

У вас есть 3 массива в каждом объекте. У каждого массива одинаковая длина? – Michas

ответ

1
foreach($data as $row){ 
    echo $row->firstname[0] . ' ' . $row->lastname[0] . '<br/>' . $row->username[0]; 
} 

редактировать:

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

Array 
(
    [0] => stdClass Object 
     (
      [id] => 1 
      [name] => name 
      [cost] => 20 
      [reviews] => Array(
       [0]=> 
        (
         [firstname] => "Bob" 
         [lastname] => "Jacob" 
         [username] => "bobjacob543" 
        ) 
       [1] = > 
        (... 
      ) 
     ) 
    [0] => stdClass Object 
     (

Затем вы можете сделать

foreach($data as $row){ 
    foreach($row->reviews as $review){ 
     echo $review->firstname . ' ' . $review->lastname . '<br/>' . $review->username; 
    } 
    ... 
} 
+0

Это только дает мне первое значение firstnames, как я мог бы получить остальные. – Jacinto

+0

см. Edit in my answer – Vigrond

+0

Как бы я реорганизовал массив, его вытащили из mysql? также он не может иметь от 0 до 5 – Jacinto

Смежные вопросы