json_encode是否会添加其他引号?

Sha*_*oon 0 php json

http://codepad.org/zmsXbqhu

我有非常简单的代码(可在上面查看):

<?php
$js = json_encode( "HO" );
var_dump( $js );
?>
Run Code Online (Sandbox Code Playgroud)

它返回一个带有额外引号的字符串:

string(4)""HO""

知道为什么会这样吗?

Lay*_*yke 5

因为你是var_dump'ing.它将它包含在引号中.如果你没有var_dump和echo,你会看到实际的字符串.

在这里,看看这个:

http://codepad.viper-7.com/KB5Fkk

 <?php

$js = json_encode( '{ book : "how to use json", author: "some clever guy" }' );
var_dump( $js );

echo "<br /> The actual string:<br />";
echo $js;
?>
Run Code Online (Sandbox Code Playgroud)

输出:

string(61) ""{ book : \"how to use json\", author: \"some clever guy\" }"" 
The actual string:
"{ book : \"how to use json\", author: \"some clever guy\" }"
Run Code Online (Sandbox Code Playgroud)