如何显示每个数组元素的值?

时间:2011-05-07 03:41:21

标签: php arrays

我创建了一个函数,它应该返回一组错误来验证表单。我试图通过几种方式实现这一点,但我遇到的问题是我似乎无法显示错误消息。

我试过

for ($i = 0; $i < count($errors); $i++)
{
    echo ($errors[$i]);
}

foreach($errors as $err)
{
    echo($err);
}

这两个似乎都给了我相同的结果:“ArrayArray”。

如果我使用var_dump(),它确实显示数组有值。

我觉得这有一个非常简单的解决方案,但我一直在寻找并尝试修改它,无论如何我能想到没有结果。我错过了什么?

4 个答案:

答案 0 :(得分:2)

你有一个多维数组。假设你有二维数组。

foreach($errors as $err)
{
    foreach($err as $err2)
        echo($err2);
}

或旧式

foreach($errors as $i => $err)
{
    foreach($err as $errKey => $errVal)
        echo($errVal);
}

答案 1 :(得分:1)

您可以使用print_r( $errors );。适用于数组,对象等。

@comment 看看print_r显示你的表定义是非常奇怪的。列出您需要的错误消息:

 foreach( $errors[2] as $err )
   echo $err."<br />";

答案 2 :(得分:0)

function displayErrors($errors)
{
   if(is_array($errors)){
     foreach($errors as $error)
     {
       displayErrors($error);
     }
   }
   else{
        echo($errors);
   } 
}

答案 3 :(得分:0)

@piotrm建议的补充 - 如果你将print_r()电话打包在<pre>...</pre>标签中,你会得到很好的可读输出:

<pre>
<?php print_r($errors); ?>
</pre>

这至少是最简单的解决方案!