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


How to use echo in php array to return as a string

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

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

这在最后的函数中:

return $errors;

我设置了这样一个错误:

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

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

Array

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

return implode(' ', $errors);

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

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

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

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

如果您使用::,那么当您对结果:运行echo时,您的字符串将如下所示

Invalid data :: 404 :: Syntax error

请参阅我提供的参考链接以获取另一个示例。

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

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

foreach ($errors as $error)
{
    echo "<br />Error: " . $error;
}
$list = array( 'one Thing', 'Two Things', 'The Things' );
echo implode( ", ", $list );

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

轻松愉快,希望这能帮助我知道我迟到了,但可能对其他人有用?

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

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