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。这很有希望告诉我维度的位置,以及键和值,我也会尝试一下。谢谢我现在正在尝试手术。