Неустранимая ошибка: "перерыв" не в контексте "loop" или "switch" в
Я установил блог 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;
}
Ответы
Ответ 1
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 ... "
}
?>
Ответ 2
посмотри на break;
заменить
return false;
в вашем коде, и это будет работать.
Ответ 3
Удаление 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);
}