PHP 簡単なバリデーションを作成

バリデーションの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;
}
  1. 空の変数を用意 $check = "";
  2. 関数作成 function check($nums){}
  3. 条件分岐でチェックしたい項目を判定 if( empty($nums) )
  4. falseの時にエラーメッセージ出力、falseを返す
  5. 関数内の最後にエラーがなかったら 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);
  1. バリデーションの関数を変数に入れる $check = check($nums);
  2. trueの時だけ処理させる if($check){}