我正在填充一个多维数组,我不知道它是什么,但我正在尝试访问数据。基本上这就是我所拥有的。
while (some condition) {
$data[] = $stuff;
}
然后我试图像这样访问它。
for ($i = 0; $i < count($data); $i++) {
foreach ($data[$i] as $key => $value) {
echo $key . " => " . $value;
}
}
但它不起作用,这就是我在这里问的原因。
我也尝试将$data[$i]
存储到临时数组并循环它,但它也失败了。
答案 0 :(得分:1)
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';
}
}
答案 1 :(得分:0)
你是什么意思&#34;它不起作用&#34;?你得到了什么错误?您是否尝试过var_dump
命令来查看$ data [$ i]是否包含任何内容?
基本上如果你不知道什么是$ stuff ...你需要做更多的错误和类型检查。例如,如果$ data [$ i]不是一个数组,那么foreach循环可能会失败。考虑使用is_array
方法。
答案 2 :(得分:0)
我可能会这样做
foreach ($data as $dkey=>$stuffs)
{
foreach ($stuffs as $skey => $value)
{
echo $dkey.' '.$skey . " => " . $value;
}
}
看看你得到了什么。
答案 3 :(得分:0)
你能这样做吗?
function show_data($data)
{
if (is_array($data))
{
foreach($data as $key=>$value)
{
//do something
show_data($value);
}
} else {
// do something
echo $data;
}
}