我有一个多维数组,有一个foreach循环,但不知道如何在不使用print_r的情况下回显所有值。如果我在foreach循环之外echo $array[0][0];
,对于第一个结果,我确实会得到一个结果。
我看过其他例子,但除了print_r之外,没有其他例子显示结果,而且它们往往只执行单个数组,而不是多维数组。
我看到过这个foreach循环,它似乎可以工作,但只有当我尝试在foreach循环中执行echo $new_array
时,我才会出现错误。在这种情况下,我该如何使用它?
foreach($array as $key=>$val) {
$new_array[] = $val['key'];
}
print_r 的数组结果
[0] => Array
(
[0] => 2
[audit_inspectionID] => 10
[1] => 2015-08-12
[created] => 2015-08-12
[2] => 2016-08-11 16:26:22
[modified] => 2016-08-11 16:26:22
[class_answer] => Array
(
[0] => Needs Improvement
[1] => Need To Correct
[2] => Needs Immediate Action
)
)
[1] => Array
(
[0] => 12
[audit_inspectionID] => 12
[1] => 2016-08-12
[created] => 2016-08-12
[2] => 2016-08-11 16:26:22
[modified] => 2016-08-11 16:26:22
[class_answer] => Array
(
[0] => Needs Improvement
[1] => Need To Correct
[2] => Needs Immediate Action
)
)
我真的不确定你在问什么,但如果你想要打印出所有键和值的东西(以什么格式?你没有指定(,而不管数组嵌套在一起,你可以做这样的事情:
function arrayToString(array $array)
{
$out = "";
foreach ($array as $key => $value) {
if (is_array($value)) {
$out .= "$key => (" . arrayToString($value) . "), ";
} else {
$out .= "$key => $value, ";
}
}
return $out;
}
你可以使用echo arrayToString($myArray)
,其中$myArray
是你想要回显的数组-它会留下尾随逗号,但我相信你可以修改它来做你需要的事情,这应该会让你知道如何进行。
这就是你想要的东西吗?我真的不明白这有什么意义,但希望这能帮助你。