2012-02-23 214 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 2012-02-23 22:01:14

+0

我擁有的是產品,然後是評論,名稱是所有評論的人 – Jacinto 2012-02-23 23:33:35

+0

您在每個對象中都有3個數組。每個數組都有相同的長度嗎? – Michas 2012-02-23 23:46:56

回答

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

這隻給了我第一個名字的價值,我怎麼會得到其他人。 – Jacinto 2012-02-23 23:32:41

+0

請參閱編輯我的答案 – Vigrond 2012-02-23 23:49:24

+0

我將如何重新組織我的數組,它是從MySQL中提取的?也不能有0到5的任何地方 – Jacinto 2012-02-24 01:01:13