我现在需要编一个判断句,判断$v1arr这个数组中,每个元素只包含数字,否则终止程序,怎么写,在线等,挺急的。这个正则表达式。

解决方案 »

  1.   


    $v1arr = array('1','52','451as');
    $flag = false;
    foreach($v1arr as $v){
    if(!preg_match('#^\d+$#',$v)){
    $flag = true;
    break;
    }
    }
    if($flag){
    echo '程序终止';
    }else{
    echo '继续...';
    }
      

  2.   

    $v1arr = array(1, 2, '3'); //全是数字
    var_dump(array_product(array_map('is_numeric', $v1arr))); //1$v1arr[] = 'a'; //加个非数字
    var_dump(array_product(array_map('is_numeric', $v1arr))); //0
    用 array_product(array_map('is_numeric', $v1arr)) 作为条件表达式即可
      

  3.   


    $v1arr = array(1,'abc','111abc','asdf111','adsfasdf','1111');
    $result = check($v1arr);
    var_dump($result);
    if($result){
        // true
    }else{
        // false
    }function check($arr){
        foreach($arr as $k=>$v){
            if(!is_numeric($v)){
                return false;
            }
        }
        return true;
    }