致命错误:'打破'不在'循环'或者'切换'

时间:2016-01-19 07:50:09

标签: php wordpress

我已经设置了一个wordpress博客(我导入了数据库)并且它正在抛出错误

  

致命错误:'打破'不在'循环'或者'切换'背景   /home/kbuzz/webapps/kb_blog/wp-content/plugins/types/embedded/common/toolset-forms/lib/adodb-time.inc.php   在1012行

代码位于第1004行到1013

之下
function adodb_tz_offset($gmt,$isphp5)
{
    $zhrs = abs($gmt)/3600;
    $hrs = floor($zhrs);
    if ($isphp5) 
        return sprintf('%s%02d%02d',($gmt<=0)?'+':'-',floor($zhrs),($zhrs-$hrs)*60); 
    else
        return sprintf('%s%02d%02d',($gmt<0)?'+':'-',floor($zhrs),($zhrs-$hrs)*60); 
    break;
}

3 个答案:

答案 0 :(得分:53)

PHP 5.xx breakforforeach声明之外的switch声明 DID NOT 抛出错误信息,语法上还可以。

PHP 7.0及更高版本,在breakforforeach声明之外不再允许使用switch声明并致命错误。

示例代码:

<?php
if (2 == 1 + 1) {
    echo "Dummy Example of break inside if condition";
    break; // - Valid in php 5.*
           // - Gives a Fatal error in PHP 7.*.*:
           // "Fatal error: 'break' not in the 'loop' or 'switch' context in ... "
}
?>

答案 1 :(得分:14)

替换休息;返回false;在你的代码中,它将工作。

答案 2 :(得分:9)

删除break修复它

function adodb_tz_offset($gmt,$isphp5)
{
   $zhrs = abs($gmt)/3600;
    $hrs = floor($zhrs);
if ($isphp5) 
    return sprintf('%s%02d%02d',($gmt<=0)?'+':'-',floor($zhrs),($zhrs-$hrs)*60); 
else
    return sprintf('%s%02d%02d',($gmt<0)?'+':'-',floor($zhrs),($zhrs-$hrs)*60); 
}