Php 在不知道关联字段的情况下循环多维数组

Php 在不知道关联字段的情况下循环多维数组,php,multidimensional-array,foreach,Php,Multidimensional Array,Foreach,我正在填充一个多维数组,我不知道其中包含了什么,但我正在尝试访问数据。基本上这就是我所拥有的 while (some condition) { $data[] = $stuff; } 然后我试着像这样访问它 for ($i = 0; $i < count($data); $i++) { foreach ($data[$i] as $key => $value) { echo $key . " => " . $value; }

我正在填充一个多维数组,我不知道其中包含了什么,但我正在尝试访问数据。基本上这就是我所拥有的

while (some condition) {
     $data[] = $stuff;
}
然后我试着像这样访问它

for ($i = 0; $i < count($data); $i++) {
     foreach ($data[$i] as $key => $value) {
          echo $key . " => " . $value;
     }
}
for($i=0;$i$value){
echo$key.“=>”$value;
}
}
但它不起作用,这就是为什么我在这里问

我还尝试将
$data[$I]
存储到临时数组中并循环,但也失败了。

你说的“它不工作”是什么意思?你犯了什么错误?您是否尝试过使用
var\u dump
命令查看$data[$i]是否包含任何内容

基本上,如果你不知道$stuff中有什么。。。你需要做更多的错误和类型检查。例如,如果$data[$i]不是数组,则该foreach循环可能会失败。考虑使用
is\u array
方法。

我可能会这样做

foreach ($data AS $datum) {
   if(is_array($datum)){
      foreach ($datum as $key => $value) {
           echo $key . " => " . $value;
      }
   }else{
       echo 'Sorry mate your $stuff is fcked up';
   }
}
foreach ($data as $dkey=>$stuffs) 
  {
    foreach ($stuffs as $skey => $value) 
      {
        echo $dkey.' '.$skey . " => " . $value;      
      }
  } 

看看你能得到什么。

你能这样做吗

function show_data($data)
{
    if (is_array($data))
    {
        foreach($data as $key=>$value)
        {
            //do something
            show_data($value);
        }
    } else {
                // do something
        echo $data;
    }
}

你能给我们看一个数组的例子吗?Stuff是一个数组,因为它通过了“is_array”检查。主要的问题是我甚至不能得到一个数组的例子,这让我很困惑。我从一个基础数据库中获取信息,并尝试在php中使用它。做一些进一步的检查,我得到一个超时失败,所以它可能不是php代码。这就是我问这个问题的主要原因。知道这应该是可行的,我可以回到其他人那里,看看他们是否可以修复它的另一面。那么,多维数组的php代码正确吗?我正在与非php代码交互并挖掘数据,因此我没有与正在访问的数据直接连接。我只需要验证我的php是正确的,然后再说$stuff是错误的。我是php新手,所以如果我得到的是正确的,我不想过早开始。我是一个java和C++程序员。关于$stuff,我只知道它是一个关联数组,比如$array['name']=ninja,存储在我的$data[]中。我将尝试使用is_数组进行确认。这看起来不错!我刚开始考虑为每一个嵌套一行。由于错误检查,@Surace编写的可能比我的要好一点。True。这很有希望告诉我维度的位置,以及键和值,我也会尝试一下。谢谢我现在正在尝试手术。