当我尝试回显数组中的所有值时,我的代码发出错误,但是也扩展并回显原始数组中任何数组的值。
while (list($key, $val) = each($bal)) {
If (is_array($val)){
while (list($k, $v) = each($v)) {
If (is_array($va)){
while (list($ka, $va) = each($va)) {
echo "$ka => $va\n <br>";
}
} else {
echo "$k => $v\n <br>";
}
}
} else {
echo "$key => $val\n <br>";
}
}
我得到的错误是
警告:传递给each()的变量不是数组或对象 第234行的C:\ xampp2 \ htdocs \ money \ production \ simalgorithm1.php
第234行是while (list($k, $v) = each($v)) {
这不应该是一个数组,因为我检查了前一行吗?我的语法必须关闭我是一个相当新的PHP如果有人可以帮助我看到我没有看到我会非常感激。
答案 0 :(得分:0)
问题在于这一行:
while (list($k, $v) = each($v)) {
我想你想要这个
while (list($k, $v) = each($val)) {
编辑:我还要指出,如果数组嵌套的层数超过几层,你的代码将无效。您应该考虑定义递归函数或使用var_export或var_dump。
答案 1 :(得分:0)
有时最简单的解决方案是解决的最佳单线问题。
的print_r($ BAL);