2015-03-25 2 views
1

У меня есть json-результат ниже.json_decode удалить null, false, true из массива

$abc = '{ 
    "id":"375", 
    "name":"Nilesh Y", 
    "email":"[email protected]", 
    "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] => [email protected] [mobile] => 9076330330 [tracking_number] => [home_tagged_address_id] => [office_tagged_address_id] => [time] => 1427254525 [logged_in] => 1 [method] => 1 [error] => [home_address] => [office_address] =>) 

Если и увидеть результат его удалить ошибку: утративший home_address: нулевой

means [home_address] => "" пустой Я хочу напечатать, что нулевое значение в массиве любезно дайте мне знать, как сделать это

+1

используйте 'var_dump' вместо' print_r'. Установите расширение xdebug, которое сделает вывод var_dump еще более приятным. Забудьте 'print_r'! – hek2mgl

+0

На самом деле я хочу объединить два вывода json, что я их расшифровал и попытался сделать array_merge, но я вещь из-за вышеизложенного, это дало мне ошибку. хотите объединить $ status = array ("status" => "success"); – nilesh

ответ

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) "[email protected]" 
    '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.

0

Проверить результат:

if($a['home_address']===null){ 
    //your code 
} 
0

вы получили сам ваш предполагаемый результат. Когда вы выполняете print_r, значение null не отображается. Само доказательство заключается в том, что ключ существует, а значение - нет. вы можете подтвердить, используя var_dump

Смежные вопросы