ホームページ  >  記事  >  バックエンド開発  >  PHPでのgotoの使用例(コード)

PHPでのgotoの使用例(コード)

不言
不言転載
2018-11-17 17:11:172637ブラウズ

この記事の内容はphpでのgotoの使用例(コード)に関するもので、ある程度の参考価値はありますので、困っている方は参考にしていただければ幸いです。

最初に簡単な例を示します:

<?php
goto LABEL; //这个标签自定义echo &#39;乔峰&#39;;

LABEL:echo &#39;鸠摩智&#39;;

上記のルーチンは出力します: Jiumozhi

説明:
goto 演算子を使用すると、プログラム内の別の場所にジャンプできます。ターゲット位置はターゲット名とコロンでマークでき、ジャンプ命令は goto 後のターゲット位置のマークになります。

PHP の Goto には特定の制限があり、ターゲットの場所は同じファイルとスコープ内にのみ存在できます。つまり、関数やクラス メソッドからジャンプしたり、別の関数にジャンプしたりすることはできません。

また、ループやスイッチ構造にジャンプすることもできません。ループから抜け出すこともスイッチを切り替えることもできますが、通常はマルチレイヤー ブレークの代わりに goto を使用して使用します。

別の例を見てみましょう:

<?php
for($i=0, $j=10; $i<20; $i++) {
    while($j--) {
        if($j==6)
            goto end;
    }
}
echo"这里不会被输出";
end:
echo "i = $i\n";
echo &#39;stop here&#39;;

上記では、end 後の出力が直接出力されていることがわかります。読み続けてください:

$number = 1;
switch($number){
    case 1:
        goto one;                 //使用goto跳到one标记处
        echo "第一名";            //goto已经跳转,这条语句不执行
    case 2:
        goto two;
        echo "第二名";
    case 3:
        goto three;
        echo "第三名";
}

one:
echo " 武林第一!";
//exit;
two:
echo " 武林第二!";
//exit;
three:
echo " 武林第三!";
//exit;
/*
  最终结果是:武林第一! 武林第二! 武林第三!
  注意后面的exit 注释了,为何不是最终输出 武林第一,大家可以琢磨下。
*/

#goto はあまり使われませんが。ただし、特定のシナリオでは非常に効率的な場合もあります。

以上がPHPでのgotoの使用例(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。