Ваш пример, вероятно, слишком упрощен, так как его легко переписать следующим образом:
if($result1 = task1()) {
$result2 = task2();
}
common_code();
exit;
Возможно, вы пытаетесь построить управление потоком следующим образом:
do {
$result1 = task1() or break;
$result2 = task2() or break;
$result3 = task3() or break;
$result4 = task4() or break;
// etc
} while(false);
common_code();
exit;
Вы также можете использовать switch()
:
switch(false) {
case $result1 = task1(): break;
case $result2 = task2(): break;
case $result3 = task3(): break;
case $result4 = task4(): break;
}
common_code();
exit;
Или в PHP 5.3 вы можете использовать goto
:
if(!$result1 = task1()) goto common;
if(!$result2 = task2()) goto common;
if(!$result3 = task3()) goto common;
if(!$result4 = task4()) goto common;
common:
echo "common code\n";
exit;