将数组索引转换为字符串?

San*_*kan -1 php

我有这样一个数组:

$errors[] = "Field not correct.";
Run Code Online (Sandbox Code Playgroud)

我想返回一个json编码为:{"errore" : "Field not correct"}这是我的代码:

return json_encode(array("error" => serialize($errors)));
Run Code Online (Sandbox Code Playgroud)

但我得到:

{
    "error": "a:1:{i:0;s:21:"Field not correct.";}"
}
Run Code Online (Sandbox Code Playgroud)

我怎么能避免a:1:{i:0;s:21 响应中的符号?

jsz*_*ody 5

您需要删除serialize并仅使用json_encode.

$errors[] = "Field not correct.";
return json_encode(["error" => $errors]);
Run Code Online (Sandbox Code Playgroud)

请注意,由于您首先将错误字符串放入数组中,因此会出现一系列错误.

如果您只有一条错误消息,则不要使用$errors数组.

$error = "Field not correct.";
return json_encode(["error" => $error]);
Run Code Online (Sandbox Code Playgroud)

有关这两个选项,请参见此处:https://3v4l.org/JQVNA


Que*_*tin 5

只是不要调用serialize(将其转换为特定于PHP的字符串格式).

将PHP数据结构直接传递给json_encode(将其转换为标准字符串格式).