2017-11-18 161 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 
)