我在下面有一个json结果。
$abc = '{
"id":"375",
"name":"Nilesh Y",
"email":"nilesh.yadav@test.co.in",
"mobile":"9076330330",
"tracking_number":null,
"home_tagged_address_id":null,
"office_tagged_address_id":null,
"time":1427254525,
"logged_in":true,
"method":true,
"error":null,
"home_address":null,
"office_address":null
}';
$a = json_decode($abc,true,JSON_BIGINT_AS_STRING);
print_r($a);
在json_decode解码后,结果是。
Array ( [id] => 375 [name] => Nilesh Y [email] => nilesh.yadav@intelliswift.co.in [mobile] => 9076330330 [tracking_number] => [home_tagged_address_id] => [office_tagged_address_id] => [time] => 1427254525 [logged_in] => 1 [method] => 1 [error] => [home_address] => [office_address] => )
如果您看到结果,则会删除错误:null和home_address:null
means [home_address] => ""
是空白的
我想打印数组中的空值,请告诉我如何做到这一点
答案 0 :(得分:2)
使用var_dump而不是print_r。安装xdebug扩展,这将使var_dump的输出更好。
你知道吗? (http://3v4l.org/Y58fC)var_dump()
将输出以下内容:
array(13) {
'id' =>
string(3) "375"
'name' =>
string(8) "Nilesh Y"
'email' =>
string(23) "nilesh.yadav@test.co.in"
'mobile' =>
string(10) "9076330330"
'tracking_number' =>
NULL
'home_tagged_address_id' =>
NULL
'office_tagged_address_id' =>
NULL
'time' =>
int(1427254525)
'logged_in' =>
bool(true)
'method' =>
bool(true)
'error' =>
NULL
'home_address' =>
NULL
'office_address' =>
NULL
}
您看,json_decode()
正在按预期工作,您根本无法看到它,因为print_r
将不会为NULL打印任何内容。
答案 1 :(得分:0)
检查结果为:
if($a['home_address']===null){
//your code
}
答案 2 :(得分:0)
您已收到预期结果。 执行print_r时,不显示空值。 证明本身就是密钥存在而价值不存在。 你可以使用var_dump确认