如何使用foreach获取多维数组值?

时间:2013-05-03 10:27:49

标签: php arrays multidimensional-array foreach

我想在不同的函数中使用多维数组。所以我将它作为一个全局变量(数组).i创建了一个多维数组并使其成为全局访问不同的函数。如何获取值从它使用foreach循环? 这是我的代码

$test=array(
       array(
        "input1"=>"v1",
        "input2"=>"v2"),
        array(
         "input3"=>"v3",
         "input4"=>"v4")
      );

class testing
{
  function testp()
  {
    global $test;
    foreach($test as $key => $value)
    {
      echo $value;
    }
    var_dump($test);
    echo is_array($test);
  }
}

$obj = new testing();
$obj->testp();

我使用is_array和var_dump来确认它是否是一个数组。 一切都很好 并忽略忽略错误抑制。现在我怎样才能从中获得价值?

3 个答案:

答案 0 :(得分:3)

它是数组数组,适用于顶级数组,也可以进一步工作:

foreach($test as $key => $value)
{
   foreach($value as $k => $v){
      echo $v;
   }
}

这将一个接一个地回显您的值v1,v2,v3,v4。

答案 1 :(得分:1)

更一般的答案:

public function visitArray($test)
{
  foreach($test as $key=>$value)
  {
    if(is_array($value))
    {
      visitArray($value);
    }
    else
    {
      echo $value;
    }
  }
}

修改

如果不考虑密钥,不知道为什么要循环键和值

答案 2 :(得分:1)

更轻松&访问数组中数组值的简单方法。

foreach($test as $array_value){

    if(is_array($array_value)) {
        foreach ($array_value as $value) {
             echo $value.'<br>';
        }
      }
    }