Php json解码后不打印空值为什么?

Php json解码后不打印空值为什么?,php,json,decode,Php,Json,Decode,当json解码工作时,它会从数组中删除Null或0值,为什么 下面是一个例子 Array ( [address] => Array ( [address] => [postalCode] => [phoneNumber] => testing [city] => ) ) 我明白了为什么它没有在空值或0中显示null $test = '{"address": { "address": null, "postalCode

当json解码工作时,它会从数组中删除Null或0值,为什么

下面是一个例子

Array ( [address] => Array ( [address] => [postalCode] => [phoneNumber] => testing [city] => ) )
我明白了为什么它没有在空值或0中显示null

$test = '{"address": {
            "address": null,
            "postalCode": null,
            "phoneNumber": "testing",
            "city": null
        }}';


  $test_decoded =json_decode($test, true);
 print_r($test_decoded);

它应该是返回null值或0值

否,null不应该用0表示。您可以使用
var\u dump()
查看实际类型。如果使用
print\r
,false也将显示为空,true将显示为1。@frz3993我使用此解码到foreach中,然后得到空值。这只是一个我用print_向大家展示的例子,我不知道为什么它显示为空,也许这就是编写PHP的人定义为人类可读信息的原因。但是实际值仍然是空的,如果使用严格的比较器
$test\u decoded['address']['address']==null
它将是
真的
,并且
$test\u decoded['address']['address']=='
将是假的。你知道我需要使用哪个参数来获取空值吗?$val=$test\u decoded['address'['address']??0;