phpプロパティgoto文

3432 ワード

goto文の使用
gotoの使用は議論されてきた[5.3バージョンの増加]支持者:gotoの使用は比較的柔軟で、プログラムの効率を高める場合がある.反対者:goto文はプログラムの静的構造と動的構造を一致させず、プログラムが理解しにくく、誤りを調べにくい.
goto文の一般的なシーン:
ループまたはswitch文からジャンプ
goto文使用制限{{gotoぶん:しようせいげん}}
同じファイルと役割ドメインでのみジャンプでき、1つの関数またはクラスメソッドからジャンプできません.また、別の関数にジャンプできません.また、任意のループまたはswitch構造にジャンプできません.
gotoが作成したループコード:
/**   goto  ,  10  **/
$i = i;
st:                             //      st,         ,       
    echo " {$i}   
"
if($i++ == 10){ goto end; // ,goto end, } goto st; // ,goto st end: // st, , //do.... // /* $i < 10 , if, st , $i == 10 , end */
/** switch     **/
$var = 2;
switch($var){
    case 1:
        goto one;                 //  goto  one   
        echo "is one";            //goto    ,       
    case 2:
        goto two;
        echo "is two";
    case 3:
        goto three;
        echo "is three";
}

one:                              //     one
    echo "      one!";exit;
two:                              //     two
    echo "      two!";exit;
three:                            //     three
    echo "      three!";exit;
/*
       :      two!
*/

goto誤記
    /** got     **/
    goto st;                                   //      【          !】
    for($i=0, $j=50; $i<100; $i++){
        while($j--){
            st:                               //    st
        }
    }