我有一个多维数组,我得到了一个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
)
)
答案 0 :(得分:0)
我不确定你问的是什么,但如果你想要的东西会打印出所有的键和值(用什么格式?你没有指定),不管数组是什么彼此嵌套你可以做类似的事情:
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
是你要回应的数组 - 它会留下尾随的逗号,但我确定你可以修改它来做你需要的事情来,这应该让你知道如何去做。
这是你想要的那种吗?我真的没有看到这一点,但希望这可以帮助你。