运行PHP 7.1中断时如何修复致命错误

时间:2019-05-16 07:26:47

标签: php php-7 php-5.3

Excel文件可以在使用PHP 5的服务器上进行下载和编辑,但是在PHP 7中是错误的。它显示致命的错误中断不在循环中

我已经尝试删除循环中的中断,但这不起作用。

public static function TYPE($value = NULL) {
    $value  = self::flattenArrayIndexed($value);
    if (is_array($value) && (count($value) > 1)) {
        $a = array_keys($value);
        $a = array_pop($a);
        //  Range of cells is an error
        if (self::isCellValue($a)) {
            return 16;
        //  Test for Matrix
        } elseif (self::isMatrixValue($a)) {
            return 64;
        }
    } elseif(empty($value)) {
        //  Empty Cell
        return 1;
    }
    $value  = self::flattenSingleValue($value);

    if (($value === NULL) || (is_float($value)) || (is_int($value))) {
            return 1;
    } elseif(is_bool($value)) {
            return 4;
    } elseif(is_array($value)) {
            return 64;
            break;
            //return false; 
    } elseif(is_string($value)) {
        //  Errors
        if ((strlen($value) > 0) && ($value{0} == '#')) {
            return 16;
        }
        return 2;
    }
    return 0;
}   //  function TYPE()

1 个答案:

答案 0 :(得分:1)

代码中唯一的中断是在代码无法到达的部分(返回之后),因此请随时删除它。

Break语句只能在任何循环或切换块内(与continue相同)。 如果自从升级到更高版本的PHP以来您的代码有很多问题,我建议您使用PHP CodeSniffer之类的自动化工具扫描源代码,然后修复报告的错误。