下面有一个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);
jsondecode解码后的结果是。
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] => ""
为空我想在数组中打印空值,请告诉我如何进行
使用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打印任何内容。
检查结果为:
if($a['home_address']===null){
//your code
}
您已经收到了预期结果。当您执行print_r时,不会显示null值。证据本身就是密钥存在而价值不存在。您可以使用var_dump 进行确认