バリデーションのtrue か falseを判定する関数を作成
$nums = [0,1,2]; $check = ""; function check($nums){ if (empty($nums)){ echo "空です。" .PHP_EOL; return false; } if( !is_array($nums)){ echo "配列ではありません。" .PHP_EOL; return false; } foreach($nums as $num){ if( !is_numeric($num)){ echo "数字ではありません。" .PHP_EOL; return false; } } return true; }
- 空の変数を用意 $check = "";
- 関数作成 function check($nums){}
- 条件分岐でチェックしたい項目を判定 if( empty($nums) )
- falseの時にエラーメッセージ出力、falseを返す
- 関数内の最後にエラーがなかったら trueを返す
バリデーションを通過して処理させる
例えば、数字の配列を3乗にして返す関数内で上記のバリデーションを作成したい時
function nums_3power($nums){ $check = check($nums); if($check){ for($i = 0; $i < count($nums); $i++){ $nums[$i] = $nums[$i] **3; echo $nums[$i] .PHP_EOL; } } } nums_3power($nums);
- バリデーションの関数を変数に入れる $check = check($nums);
- trueの時だけ処理させる if($check){}