配列インデックスが存在するか、nullであるかを確認する方法はありますか?
isset()
インデックスが存在しないか存在するがnullであるかはわかりません。私がそうする場合:isset($array[$index]) || is_null($array[$index])
インデックスが存在しない場合、is_nullがクラッシュするため、機能しません。
どうすれば確認できますか?また、nullに設定されているかどうかに関係なく、何かが存在するかどうかだけを確認する方法はありますか?
関数array_key_exists()はそれを行うことができ、オブジェクトのproperty_exists()に加えて、Vineet1982が言ったことを実行できます。ご協力いただきありがとうございます。
これは非常に良い質問であり、これにはget_defined_vars()を使用できます。
$foo = NULL;
$a = get_defined_vars();
if (array_key_exists('def', $a)) {
// Should evaluate to FALSE
};
if (array_key_exists('foo', $a)) {
// Should evaluate to TRUE
};
これはあなたの問題を解決します
最も単純な定義:http: //php.net/manual/en/function.array-key-exists.php
<?php
$array=array('raja'=>'value', 'john'=>'value2');
$var='raja';
echo array_key_exists($var, $array);
?>