关于如何在数组中显示可能是多维的数据,我想要一些指导。
我目前正在使用它 -
if (count($array) == count($array, COUNT_RECURSIVE)){
echo $array['Name'];
echo $array['Surname'];
echo $array['Email'];
}else{
foreach($res as $val){
echo $val['Name'];
echo $val['Surname'];
echo $val['Email'];
}
}
这项工作没问题,但如果要显示多个字段,它确实意味着很多重复的代码。
有没有办法压缩代码,所以没有重复?
答案 0 :(得分:1)
最简单的可能是在必要时修改数组:
if (count($array) == count($array, COUNT_RECURSIVE)) {
$array = array($array);
}
foreach($res as $val){
echo $val['Name'];
echo $val['Surname'];
echo $val['Email'];
}
答案 1 :(得分:0)
您需要使用递归函数。这是一个递归函数的例子,它回显了多维数组中的元素:
$array = array(
array("a", array("a","b","c"),"c"=>"c"),
array("a","b","c"),
array("a","b","c"));
displayArray($array);
function displayArray($array)
{
foreach($array as $k => $v)
{
if(is_array($v))
{
displayArray($v);
}
else
{
echo $v."<br />";
}
}
}
输出将是:
aabccabcabc
答案 2 :(得分:0)
更简单的方法可能是使用array_walk_recursive函数。在php手册中你也会有一个例子。