-3

私は以下のように複数のforeach(ループ)を持っています:

foreach($Arr1 as $k1=>$v1){ //Loop 1

    foreach($v1 as $k2=>$v2) { //Loop 2

        foreach($v2 as $k3=>$v3) { //Loop 3

            if($v3==0){ echo "Yes! Found Zero & Exit the Entire Loop"; break; }

        }

    }
}

私のコードでは、「ブレーク」を入れましたが、// Loop3を終了し、// Loop 2から再び続行するだけなので、ループ全体を終了するのを待つのでしょうか。
終了すると、はい、停止しますが、ページ全体も停止します。

4

4 に答える 4

8

break 3;すべてのループから抜け出すために使用します。

[break実際には、抜け出すループの数を示す「パラメータ」を取ります]

break;break 1;(番号なし) は(break 0; 同じでbreak 0;、もはや機能しません)。

于 2013-03-19T15:08:52.143 に答える
4

ドキュメントによると、次のように抜け出すループの数を指定できます。

break 3;
于 2013-03-19T15:09:15.557 に答える
4

私はおそらく関数を使用してこれを書き直します

function multiLoop($array)

    foreach ($array as $k1 => $v1) {

      foreach ($v1 as $k2 => $v2) {

        foreach ($v2 as $k3 => $v3) {

          if ($v3 == "0") {
            return $k3;
          }

      }
    }
  }
}

echo "0 found at " . multiLoop($input)
于 2013-03-19T15:11:17.543 に答える
-1
break;

これにより、ループから抜け出すことができます。

于 2013-03-19T15:07:57.700 に答える