为什么我收到下面的if语句的语法错误

时间:2015-04-20 16:40:56

标签: php arrays

if($gradeArray[1] == NULL ||is_nan($gradeArray[1]) || $gradeArray[2] == NULL || is_nan($gradeArray[2]) || $gradeArray[3] == NULL || is_nan($gradeArray[3]) || $gradeArray[4] == NULL || is_nan($gradeArray[4]) || $gradeArray[5] == NULL || is_nan($gradeArray[5]) || $gradeArray[6] == NULL || is_nan($gradeArray[6]) || $gradeArray[7] == NULL || is_nan($gradeArray[7]) || $gradeArray[8] == NULL || is_nan($gradeArray[8]) || $gradeArray[9] == NULL || is_nan($gradeArray[9]) || $gradeArray[0] == NULL || is_nan($gradeArray[0])){
    echo "<h2>Please enter scores in ALL textboxes.</h2>";
} else {
    //pass array into the function
    arrayFunction($gradeArray);
}

1 个答案:

答案 0 :(得分:1)

$hasErrors = false;

foreach ($gradeArray as $gradeValue) {
    if (!is_numeric($gradeValue)) {
        $hasErrors = true;
    }
}

if ($hasErrors) {
    echo "<h2>Please enter scores in ALL textboxes.</h2>";
} else {
    arrayFunction($gradeArray);
}

说明:如果数组中的每个值为null或不是数字,则可以单独检查数组中的每个值,而不是迭代数组中的每个元素并检查它是否不是数字(is_numeric()),其中包括检查null