75474


phpで変数が宣言されていることを判定する場合isset()を使いますが、nullでないことも判定に含まれています。  
そのとき中身がnullかどうか関係なくtrue判定できる方法はないでしょうか。

例

[code]

    fruits["banana"] = 1;
    fruits["orange"] = null;
    
    isset(fruits["banana"]); // true ： 意図通りの結果になっている
    isset(fruits["apple"]);  // false： 存在しないので意図通りの結果になっている
    isset(fruits["orange"]); // false： 存在するのでtrueが欲しいがisset()だとfalseになってしまう
    
[/code]

この例だとfruits["orange"]は存在するのでそこだけを判定する方法を探しています。  
もちろん存在しない場合の余計なエラーも出ないようなものです。(isset()がそうなっているように)


CC BY-SA 4.0
2021-04-23T08:43:03.367
75471
2021-04-23T08:56:24.553
34267
question
php
phpで変数が宣言されていることだけを判定したい(中身はnullでも良い)


公式の isset() のマニュアルに書いてありますね。

<https://www.php.net/manual/ja/function.isset.php>

[code]

    // キー 'hello' は NULL と等しいのでセットされていないと見なされる。
    // もし NULL なキー値に対してチェックを行いたい場合、次を試してみること:
    var_dump(array_key_exists('hello', $a)); // TRUE
    
[/code]


CC BY-SA 4.0
2021-04-23T08:56:24.553
75474
2021-04-23T08:56:24.553
3475
75471
answer