[英]How can I return a JavaScript object from a PHP array?
如果我定义一个数组并使用json_encode()对其进行编码
$array = array("a" => "element1", "b" => "element2");
echo json_encode($array);
我懂了
{"a":"element1","b":"element2"}
这是正确的JSON。 但是我对以下输出感兴趣:
{a:"element1",b:"element2"}
有没有一种方法可以在PHP 5.2中实现,还是应该自己实现?
编辑:由于人们开始反对并评论我想要的输出不正确的JSON,让我指出问题是“ JavaScript对象”而不是“ JSON”。 我正在使用的系统需要我描述的格式,但遗憾的是我无法更改。
好吧,如果您绝对必须使用指示的无效格式,则必须编写自己的函数来执行此操作。 当然,实际上不建议这样做,您应该尝试改进用于解析返回的JSON字符串的JS代码,而不是强制PHP无效输出。
这是一个简单的函数,应该可以实现您想要的功能(至少使用给定的示例数组-如果使用多维数组,则需要对其进行修改):
function custom_json_encode( $arr )
{
$len = count($arr);
$i = 1;
$json = '{';
foreach( $arr as $key => $val )
{
$json.= $key.':"'.$val.'"';
$json.= ($i < $len) ? ',' : '';
$i++;
}
$json.= '}';
return $json;
}
返回示例:
{a:"element1",b:"element2"}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.