2017-11-18 269 views
0

我有一個這樣的陣列:PHP - 如何訪問嵌套數組中的特定數組值?

Array (
    [0] => Array ( 
     [0] => 510 
     [1] => 984 
     [2] => 1045 
     [3] => 2068 
     [4] => 1054 
     [5] => 673 
     ) 
    [1] => Array ( 
     [0] => 1163 
     [1] => 1982 
     [2] => 2067 
     [3] => 3989 
     [4] => 1940 
     [5] => 1242 
     ) 
    [2] => Array ( 
     [0] => june 
     [1] => july 
     [2] => august 
     [3] => september 
     [4] => october 
     [5] => november 
     ) 
    ) 

我想在一個時間訪問陣列內僅陣列之一和回聲出來。

例如,我會得到:510,984,1045,2068,1054和673作爲一個結果。

我已經看過多個線程和答案,但沒有什麼能夠完全解決我的問題,我已經能夠打印出所有的值,但我只是想要一些具體的。

我把它存儲在變量:$array_item

我最近的嘗試是:

foreach ($array_item as $inner) { 
if (is_array($inner)) { 
    foreach ($inner[0] as $value) { 
     echo "$value \n"; 
    } 
} 
} 

這給了我:警告:()提供的foreach參數無效。

我以爲肯定會工作,我做錯了什麼?

+0

如果我想'510',它的'$ array_item [0] [0]' 。如果我想'984',它是'$ array_item [0] [1]'。如果我想'1163',它是'$ array_item [1] [0]'。如果我想'九月',它是'$ array_item [2] [3]'等。 – mopsyd

回答

3

在代碼$inner[0]是內陣列元件中的一個,象510。你不能循環。

如果您只是想循環使用$array_item[0],請不要遍歷整個數組。

if (is_array($array_item[0])) { 
    foreach ($array_item[0] as $value) { 
     echo "$value\n"; 
    } 
} 
+0

問題在於我沒有想要返回給我的值,我只想要[0]下的特定值,而不是整個元素。 –

+0

那你爲什麼要做'foreach($ array_item as $ inner)'?我已經更新了答案。 – Barmar

+0

我被卡在這個想法,因爲我想如何組裝數組我認爲...因爲我故事陣列裏面的數組...像︰$ array_item = array($ another_array)等等...感謝您清除它現在看起來很愚蠢。 –

0

is_array($ array_item)是否返回true?

if (is_array($array_item)) { 
    foreach ($array_item) { 
     if (is_array($inner)) { 
      foreach ($inner as $value) { 
       echo "$value \n"; 
      } 
     }  
    } 
} 

編輯另外,$ inner [0]不是數組。 $ inner是數組。

+0

is_array($ array_item)返回true,是的。 –

+0

啊,不要使用$ inner [0]。 Inner [0]是一個值,而不是數組。改爲使用foreach($ inner作爲$ value)。 – PatrickSJ

0

我會用破滅,http://php.net/manual/en/function.implode.php

foreach($array_items as $items) { 
    echo implode(', ', $items); 
} 

我看到一個評論說,他只希望第一陣列輸出,而不是全部。

if (is_array($array_item[0])) { 
    echo implode(PHP_EOL, $array_item[0]); 
} 
0

你永遠不知道什麼可以解決的一個問題

$array_group = array(); 

if (isset($array_item[0]) and is_array($array_item[0])) { 
foreach ($array_item[0] as $value) { 
    $array_group[] = $value; 
} 

$array_group應該輸出

Array 
(
    [0] => 510 
    [1] => 984 
    [2] => 1045 
    [3] => 2068 
    [4] => 1054 
    [5] => 673 
)