9

goto関数宣言内で使用するために、PHP のグローバル ラベル (変数のようなもの) を定義する方法はありますか。私は次のことをしたい:

function myFunction() {
   if (condition) {
     goto someLine;
  }
}


someLine:
// ....

myFunction();

このコードを使用すると、

PHP Fatal error:  'goto' to undefined label "someLine"

gotoステートメントを使用することはお勧めできません。しかし、私の場合は必要です。おそらく常に の代替手段があることを知っていますがgoto、私の場合は、コードが少し簡単で理解しやすくなります

4

4 に答える 4

0

ええ、その関数が同じphpファイルで宣言されているか、別のスクリプトに含まれている場合は、その関数が含まれている限り、方法があります。

ある行にジャンプする最良の方法は、関数が呼び出された場合に戻り値が受け取られるように、あなたのgotoコードを返すことです..これが役立つことを願っています

 function foo($b="30")
 {
 $a=30;
 if($a==intval($b))
 return "someline:goto
 someline";
 }

try{
eval(foo());
}
catch(IOException $err)
{
 exit($err);
}

/*someline is somewhere here   
for example */
于 2014-10-24T15:11:00.460 に答える