2013-01-22 176 views
1

所以我在訪問multidimentional數組中的值時出現問題。這裏是我的$ klasemen->數據的print_r結果/陣列結構:CodeIgniter - 訪問多維數組

Array (
[0] => stdClass Object 
    (
     [team] => stdClass Object 
      (
       [id] => 5055 
       [name] => Manchester United 
      ) 

     [breadcrumb] => Array 
      (
       [0] => stdClass Object 
        (
         [id] => 1 
         [name] => Bola 
        ) 

       [1] => stdClass Object 
        (
         [id] => 2 
         [name] => Internasional 
        ) 

       [2] => stdClass Object 
        (
         [id] => 23 
         [name] => Liga Premiere 
        ) 

      ) 

     [games_played] => 23 
     [wins] => 18 
     [draws] => 2 
     [losses] => 3 
     [goals_scored] => 57 
     [goals_against] => 30 
     [goals_difference] => 27 
     [points] => 56 
    ) 

[1] => stdClass Object 
    (
     [team] => stdClass Object 
      (
       [id] => 5057 
       [name] => Manchester City 
      ) 

     [breadcrumb] => Array 
      (
       [0] => stdClass Object 
        (
         [id] => 1 
         [name] => Bola 
        ) 

       [1] => stdClass Object 
        (
         [id] => 2 
         [name] => Internasional 
        ) 

       [2] => stdClass Object 
        (
         [id] => 23 
         [name] => Liga Premiere 
        ) 

      ) 

     [games_played] => 23 
     [wins] => 15 
     [draws] => 6 
     [losses] => 2 
     [goals_scored] => 45 
     [goals_against] => 19 
     [goals_difference] => 26 
     [points] => 51 
    ) 

我要訪問比賽的名稱(如西甲首演。)並將其打印在我的看法,但我不斷收到「消息:試圖獲取非對象的屬性」。我相信在語法或我在Breadcrumb數組中訪問數組的方式有問題。我是新來的,我對這個多維數組事物感到困惑T_T

這是我想要打印值時我的視圖上的行代碼(我敢肯定有什麼不對)。

回聲$ klasemen->數據 - >麪包屑[2] - >名

反正$ klasemen是包含所有數據變量。 任何人都可以幫助我嗎?謝謝! :-)

+0

$ klasemen [1] - > breadcrumb [2] - > name? – Andy

+0

@安迪非常感謝! – paulfah

+0

沒問題,我已將它添加爲下面的答案。請接受它。 – Andy

回答

1

嘗試使用此paulfah

$klasemen->data->breadcrumb[2]->name 

你只需要改變$ klasemen->數據$ klasemen [1],因爲它是一個數組。數據屬性不存在於您的對象中。

解決方案:

$klasemen[1]->breadcrumb[2]->name 
+1

請提供一些解釋,說明您如何解決問題。 – ryadavilli

+0

提煉出答案 – Andy

0

您對data的描述錯誤。試試這個:

echo $klasemen[0]->breadcrumb[2]->name 
+0

其實數據是$ klasemen內的數組。無論如何謝謝你真的幫助我瞭解如何訪問內部數組!我的問題解決了。非常感謝! :-D – paulfah

0

下面的代碼:

echo $klasemen->data->breadcrumb[2]->name 

等同於:

echo $klasemen[0]->breadcrumb[2]->name 

您正在處理的對象的數組。你需要提供索引來指定當前的對象項目。