4

我正在尝试返回一个字符串数组。我这样做:

$errors[] = toolbarCheckCreds($_COOKIE['uname'], $_COOKIE['pword'], $_COOKIE['rememberMe']);
    echo $errors[0];

这在最后的功能中:

return $errors;

我设置了这样的错误:

$errors[] = "error goes here!";

基本上,当我返回我的数组并回显它时,它会给我以下输出:

Array
4

4 回答 4

5

使用PHP implode将您的 Array 转换为可以回显的字符串。在数组上使用 echo 只会显示数据类型。

return implode(' ', $errors);

如果你想用空格以外的分隔符分隔错误,只需替换第一个参数中的空格即可:

return implode(' :: ', $errors);

例如,如果您的错误数组包含三个值:

[ "Invalid data" , "404" , "Syntax error" ]

那么你的字符串,如果你使用 ::,当你在结果上运行时看起来像这样echo

Invalid data :: 404 :: Syntax error

有关另一个示例,请参阅我包含的参考链接。

于 2012-04-07T03:26:53.217 回答
5

你需要遍历你的数组。有多种方法可以做到这一点,我个人偏好使用foreach循环。

例如,这将在新行上回显数组中的每个错误消息:

foreach ($errors as $error)
{
    echo "<br />Error: " . $error;
}
于 2012-04-07T03:27:49.683 回答
3
$list = array( 'one Thing', 'Two Things', 'The Things' );
echo implode( ", ", $list );

结果 一件事,两件事,三件事

轻松愉快,希望它可以帮助我知道我迟到但对其他人有用吗?

于 2019-06-29T10:35:31.413 回答
2

您不能按原样回显数组的内容。

如果要检查数组的内容,可以使用print_r()var_export()并将return参数设置为True.

于 2012-04-07T03:47:24.097 回答