次のステートメントがあるとします。
$b = empty($a) ? "null" : "'$a'"
コピーと貼り付けを避けるために、関数に入れたいと思います:
function x($a) {
return empty($a) ? "null" : "'$a'"
}
だから私はできる:
$b = x($a); // $a is not defined, so PHP complains
$d = x($c); // same with $c
$a
しかし、定義されていないため、PHPからエラーが発生します。@
演算子を使用する以外に、これを達成する方法はありますか?
編集: x() 内ではなく、x() を呼び出すときにエラーが発生することを参照しています。ご存じのとおり、定義されていないものに対して isset() および empty() を実行でき、PHP は文句を言いません。しかし、何か未定義の関数を呼び出すと、PHP は文句を言います。これが問題です。