如何在 PHP 数组中使用 echo 将其作为字符串返回

5

我正在尝试返回一个字符串数组。我用以下方法实现:

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

并且这是在函数末尾:

return $errors;

我设置了一个错误,如下:

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

基本上,当我返回我的数组并进行回显时,它会给我以下输出:
Array
4个回答

6
使用PHP implode函数将数组转换为字符串,然后可以使用echo输出。直接使用echo输出数组只会显示数据类型。
return implode(' ', $errors);

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

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

例如,如果您的错误数组包含三个值:
[ "Invalid data" , "404" , "Syntax error" ]

然后,如果你使用了::,当你在结果上运行echo时,你的字符串将如下所示:
Invalid data :: 404 :: Syntax error

请参考我提供的参考链接,其中包含另一个例子。

我该如何修改当前的代码,以添加类似于您在第二个示例中提供的“::”这样的内容? - droidus

5
你需要循环遍历数组。有多种方法可以做到这一点,我个人偏好使用foreach循环。
例如,以下代码将在新行中打印数组中的每个错误消息:
foreach ($errors as $error)
{
    echo "<br />Error: " . $error;
}

1
这里的优点是你的错误对象仍然是一个数组。+1 - jamesmortensen

4
$list = array( 'one Thing', 'Two Things', 'The Things' );
echo implode( ", ", $list );

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

轻松愉快,希望对你有帮助,我知道我有点晚但也许对其他人有用?


2

您不能直接输出数组的内容。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接