0

尝试使用 php 构造显示多维数组根本不起作用:

<?php
$_arr=array("Names"=>array("mola","dola","kola","hola"));

echo $_arr;
?>

但是如果我们使用print_r()函数而不是它以特定格式显示整个数组,为什么?

4

4 回答 4

2

试试foreach语句

foreach($_arr as $key => $value)
{
   foreach($value as $v)   
      echo "$key  => $v<br>\n";
}
于 2013-03-30T11:06:04.103 回答
0

首先有一个括号不匹配,数组末尾缺少右括号。

echo $_arr;应该只返回“数组”。print_r($_arr)“打印关于变量的人类可读信息”参见http://www.php.net/manual/en/function.print-r.php

你问为什么..因为这是这个函数的行为?;)

于 2013-03-30T11:09:07.403 回答
0

您可以使用print_rvar_dump打印您的阵列。否则,echoforeach循环中使用来迭代数组。foreach如果您正在迭代 2D 数组,则在第一个中的另一个。等等...

于 2013-03-30T11:10:27.693 回答
0
function print_array($array){
 if(!is_array($array)){
  return false;
 }
 foreach($array as $v){
    if(is_array($v)){
      print_array($v);
    }
    else{
      echo "$v <br>\n";
    }
 }
}

print_array(array("one", array("a", "b", "c")));

输出:

one
a
b
c 
于 2013-03-30T11:21:18.240 回答