我在尝试将decode
json转换为数组时遇到了这个问题,例如,
它可以正常工作,
$year = 2012;
$month = 3;
$json = '{"year":'.$year.', "month":'.$month.'}';
$config = json_decode($json,true);
var_dump($config); // return array.
但是如果我将其中一个变量设置为null
,例如,
$year = 2012;
$month = null;
$json = '{"year":'.$year.', "month":'.$month.'}';
$config = json_decode($json,true);
var_dump($config); // return null
我是在这个结果之后,
array
'year' => int 2012
'month' => null
我怎样才能返回这样的结果?
答案 0 :(得分:3)
那是因为你做的时候
$json = '{"year":'.$year.', "month":'.$month.'}';
结果:
{"year":2012, "month":}
这本身并不是一个有效的json,因此如果你可以帮助它,你就会得到NULL
$month = "null"
我收到了以下代码:
$year = 2012;
$month = "null";
$json = '{"year":'.$year.', "month":'.$month.'}';
echo $json . "\n";
$config = json_decode($json,true);
var_dump($config);
结果:
{"year":2012, "month":null}
array(2) {
["year"]=>
int(2012)
["month"]=>
NULL
}