49

重複の可能性:
配列要素が存在するかどうかを確認する方法は?

私が間違っていたらごめんなさい、私はPHPが初めてです.PHPで関数をJson使用してデコードした後、キーが文字列に存在するかどうかを調べる方法はありますか.json_decode

$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ます 事前に感謝します

4

2 に答える 2

89

値がそうでないかどうかも確認したい場合は、nullを使用できますisset

if( isset( $mydata['user_id'] ) ){
   // do something
}

array_key_existsつまり、との違いisset

$json = {"user_id": null}

array_key_exists戻るtrueのに対し、isset戻るfalse

于 2012-04-16T14:47:29.160 に答える
36

array_key_existsを試すことができます。

ブール値を返すため、次のように検索できます。

if(array_key_exists('user_id', $mydata)) {
    //key exists, do stuff
}
于 2012-04-16T14:44:35.630 に答える