そのため、私の思考プロセスを示すには機能しない変数と関数があります。
コード:
$variable = "This is a string!";
function is($var)
{
if( isset ( $var ) )
return true;
return false;
}
if( is ( $variable ) )
echo "This variable exists!";
else
echo "This variable does not exist!";
出力:
This variable exists!
$variable が存在するため、関数は正しく動作しますが、$variable が設定または定義されていない場合に問題が発生します。
コード:
function is($var)
{
if( isset ( $var ) )
return true;
return false;
}
if( is ( $variable ) )
echo "This variable exists!";
else
echo "This variable does not exist!";
出力:
Notice: Undefined variable: variable on line x
This variable does not exist!
変数はまだ定義されていないため、参照時に PHP は、参照しようとしたこの変数が未定義であるという通知を返します。変数が適切に設定されていない場合、関数は常に通知を作成するため、これは問題です。これは、そもそも回避しようとしていました。
そこで、参照なしで変数名を文字列として渡そうとしました。
コード:
$variable = "This is a string";
function is($string)
{
if(isset($$string)) // Variable Variables
return $$string;
return "";
}
echo is("variable");
しかし、これでもうまくいきませんでした。毎回これを入力する代わりに、短い関数を使用して何かを優雅に出力する方法についてのアイデアがありません。
echo (isset($variable) ? $variable : "");
参照が存在するかどうか、またはphpを使用していないかどうかを確認するにはどうすればよいですか?