Как узнать, существует ли ключ в строке Json
Возможный дубликат:
Как проверить, существует ли элемент массива?
Извините, если я ошибаюсь, я новичок в PHP, есть ли способ узнать, существует ли ключ в строке Json
после декодирования с использованием функции json_decode
в PHP.
$json = {"user_id":"51","password":"abc123fo"};
Краткая информация:
$json = {"password":"abc123fo"};
$mydata = json_decode($json,true);
user_id = $mydata['user_id'];
Если строка json не состоит из user_id, она генерирует исключение, подобное Undefined index user_id
, так что есть ли способ проверить, существует ли ключ в строке Json. Пожалуйста, помогите мне, я использую PHP 5.3 and Codeigniter 2.1 MVC
Спасибо заранее
Ответы
Ответ 1
ЕСЛИ вы хотите также проверить, не является ли значение null
, вы можете использовать isset
if( isset( $mydata['user_id'] ) ){
// do something
}
то есть. разница между array_key_exists
и isset
заключается в том, что при
$json = {"user_id": null}
array_key_exists
вернет true
, тогда как isset
вернет false
Ответ 2
Вы можете попробовать array_key_exists.
Он возвращает логическое значение, поэтому вы можете найти что-то вроде:
if(array_key_exists('user_id', $mydata)) {
//key exists, do stuff
}