当选项作为变量传递时,json_encode()会出现问题

时间:2014-02-21 16:29:22

标签: php json

这有效:

$text = "hullo world";

$display = json_encode($text, JSON_NUMERIC_CHECK);

返回:

"hullo world"

这不起作用:

$text = "hullo world";
$options = "JSON_NUMERIC_CHECK";

$display = json_encode($text, $options);

返回:

Warning: json_encode() expects parameter 2 to be long, string given in /pathtomyscript/myscript.php on line 11

我正在运行PHP 5.3.3,据我所知,它不支持新版本中支持的所有json_encode选项,但为什么当选项作为变量传递时,这个选项会失败?

其他选项的值也有类似的结果。

1 个答案:

答案 0 :(得分:1)

JSON_NUMERIC_CHECKconstant,不是字符串。它代表一个数字。

你想这样做:

$options = JSON_NUMERIC_CHECK;