37

配列インデックスが存在するか、nullであるかを確認する方法はありますか? isset()インデックスが存在しないか存在するがnullであるかはわかりません。私がそうする場合:isset($array[$index]) || is_null($array[$index])インデックスが存在しない場合、is_nullがクラッシュするため、機能しません。

どうすれば確認できますか?また、nullに設定されているかどうかに関係なく、何かが存在するかどうかだけを確認する方法はありますか?

4

3 に答える 3

38

関数array_key_exists()はそれを行うことができ、オブジェクトのproperty_exists()に加えて、Vineet1982が言ったことを実行できます。ご協力いただきありがとうございます。

于 2013-03-09T12:04:27.990 に答える
19

これは非常に良い質問であり、これには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
};

これはあなたの問題を解決します

于 2013-03-09T12:02:45.067 に答える
8

最も単純な定義: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);
?>
于 2015-07-23T07:46:12.867 に答える