興味深い状況があります。複数のページに含まれるフォームを使用しています (単純化と重複を減らすため)。一部の領域のこのフォームには、DB からの値が入力されています。ただし、これらの値のすべてが常に存在するわけではありません。たとえば、次のような効果を得るために何かを行うことができます。
<?php echo set_value('first_name', $first_name); ?>
これは、値が存在する場合は問題なく機能しますが、初めて名前を入力する可能性があるため、 $user が常に設定されているとは限りません。isset($first_name) && $first_name
はい、ifステートメント内で実行できます(省略形または通常)
変数が設定されているかどうか、およびそれがnullでないかどうかを確認するヘルパー関数を作成しようとしています。ここvarIsset('first_name')
で、first_name は実際の変数名 $first_name であり、関数は文字列を取り込み、それを目的の変数 $first_name に変換し、それが設定されていて null でないかどうかを確認します。要件を満たしている場合は、その変数の値 (この場合は「test」) を返します。要件を満たさない場合、つまり設定されていないか null である場合、関数は '{blank}' を返します。
私は CodeIgniter を使用していますが、それが役立つ場合は、近いうちに Laravel に切り替える予定です。どんな助けでも大歓迎です。ここに私がこれまでにまとめたものがありますが、役に立ちません。
function varIsset($var = '')
{
foreach (get_defined_vars() as $val) {
if ($val == $var) {
if (isset($val) && $val) {
echo $val;
}
break;
}
}
die;
}
使用例を次に示します。
<?php
if (varIsset('user_id') == 100) {
// do something
}
?>