如何在php数组中使用echo返回字符串

dro*_*dus 3 php arrays

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

$errors[] = toolbarCheckCreds($_COOKIE['uname'], $_COOKIE['pword'], $_COOKIE['rememberMe']);
    echo $errors[0];
Run Code Online (Sandbox Code Playgroud)

这在函数的末尾:

return $errors;
Run Code Online (Sandbox Code Playgroud)

我设置了这样的错误:

$errors[] = "error goes here!";
Run Code Online (Sandbox Code Playgroud)

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

Array
Run Code Online (Sandbox Code Playgroud)

jmo*_*253 5

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

return implode(' ', $errors);
Run Code Online (Sandbox Code Playgroud)

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

return implode(' :: ', $errors);
Run Code Online (Sandbox Code Playgroud)

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

[ "Invalid data" , "404" , "Syntax error" ]
Run Code Online (Sandbox Code Playgroud)

然后,如果使用::,则字符串将echo在结果上运行时如下所示:

Invalid data :: 404 :: Syntax error
Run Code Online (Sandbox Code Playgroud)

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


Luk*_*een 5

您需要遍历数组。有多种方法可以做到这一点,我个人比较喜欢使用foreach循环。

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

foreach ($errors as $error)
{
    echo "<br />Error: " . $error;
}
Run Code Online (Sandbox Code Playgroud)