過去に、変数と数値が設定されているかどうかを確認する必要があったときは、次のようにしました。
if( isset($_GET['var']) && is_numeric($_GET['var']) )
しかし、特に同じifステートメントで多数の変数をチェックする必要がある場合は、それはちょっと醜いと思うので、関数を作成しました:
function setAndNum($var)
{
if(isset($var) && is_numeric($var))
return 1;
else
return 0;
}
問題は、次のように未定義の変数を関数に渡すときです(GET配列の変数が未定義であると仮定します):
if( setAndNum($_GET['var']) )
私はphpエラーを受け取ります:
Notice: 未定義のインデックス: ...
したがって、関数の目的全体が基本的に無効になります(または、少なくとも目的の半分;))。
私を混乱させることの 1 つは、isset() 関数がどのように機能するか、および未定義の変数を渡すことができるのに、自分の関数には渡せないのはなぜですか?
setAndNum() 関数を機能させることは可能ですか?