Неустранимая ошибка: «break» не в контексте «loop» или «switch» в

17

Я установил блог wordpress (я импортировал db), и он выбрасывает эту ошибку

  

Неустранимая ошибка: «break» не в контексте «loop» или «switch» в   /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;
}
    
задан Samuel Muiruri 19.01.2016 в 08:50
источник

2 ответа

35

PHP 5.xx , оператор break вне оператора for , foreach или switch DID NOT выдает сообщение об ошибке и синтаксически все в порядке.

PHP 7.0 и выше , оператор break больше не разрешается за пределами оператора for , foreach или 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 ... "
}
?>
    
ответ дан Basil Musa 08.04.2016 в 23:56
источник
7

Удаление 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); 
}
    
ответ дан Samuel Muiruri 19.01.2016 в 08:56
источник