Как узнать, существует ли ключ в строке Json - программирование
Подтвердить что ты не робот

Как узнать, существует ли ключ в строке 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 Спасибо заранее

4b9b3361

Ответ 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
}