source

치명적 오류: 의 '루프' 또는 '스위치' 컨텍스트에 '브레이크'가 없습니다.

ittop 2023. 4. 2. 11:54
반응형

치명적 오류: 의 '루프' 또는 '스위치' 컨텍스트에 '브레이크'가 없습니다.

워드프레스 블로그(DB를 Import)를 설정했는데 이 오류가 발생합니다.

치명적인 오류: 1012행의 /home/kbuz/webapps/kb_blog/wp-content/plugins/types/embedded/common/toolset-forms/lib/adodb-time.inc.php의 '루프' 또는 '스위치' 컨텍스트에 'break'가 없습니다.

코드는 아래 행부터입니다.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;
}

PHP 5.x.x, abreak외부에 있는 성명for,foreach,while또는switch스테이트먼트 DID는 에러 메시지를 송신하지 않고 구문적으로 문제가 없습니다.

PHP 7.0 이상, abreak외부에서는 더 이상 스테이트먼트가 허용되지 않습니다.for,foreach,while또는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 ... "
}
?>

보다break;

로 대체하다.

return false;

작동하게 될 거야

삭제 중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); 
}

사용하다return false;대신break;또는exit();또는continue;이렇게 하면 나머지 스크립트는 실행되지 않지만 규칙이 모두 참일 경우 루프는 계속됩니다.

언급URL : https://stackoverflow.com/questions/34871198/fatal-error-break-not-in-the-loop-or-switch-context-in

반응형