for ループは、PHP で最も複雑なループ構造です。その動作は C 言語の動作に似ています。 for ループの構文は次のとおりです。
for (expr1; expr2; expr3) ステートメント
最初の式 (expr1) は、ループが開始される前に無条件に 1 回評価されます。
expr2 は各ループの前に評価されます。値が TRUE の場合、ループが続行され、ネストされたループ ステートメントが実行されます。値が FALSE の場合、ループは終了します。
expr3 は各ループの後に評価 (実行) されます。
すべての式は空にすることができます。空の expr2 は、ループが無限に継続することを意味します (C と同様、PHP はその値を TRUE と見なします)。ループを終了するには、for 式の真偽チェックを使用するのではなく、break ステートメントを使用することが多いため、これは思っているよりも役に立ちません。
次の例を考えてみましょう。これらはすべて 1 から 10 までの数字を表示します:
コードをコピー コードは次のとおりです:
for ($ i = 1; $i <= 10; $i ) {
print $i;
}
for ($i = 1; ; $i ) {
if ( $i > 10) {
break;
}
$i = 1; (;;) i > 10 ) {
break;
}
print $i;
}
for ($i = 1; $i <= 10; $i, $ i );
?>
もちろん、最初の例 (または 4 番目) が最も普通に見えますが、for ループで空の式を使用していることがわかります。多くの場面でとても便利になります。
PHP は、コロンを使用した for ループの代替構文もサポートしています。
$arr = array("one", "two", "three"); reset ($arr);
while (list(, $value) = each ( $arr)) {echo "値: $value
n";
}
foreach ($arr as $value) {
echo "値: $value
n" ;
}
?>
次のコードにも同じ機能があります:
reset ($arr); while (list($key, $value) = each ($arr)) { echo "キー: $key; 値: $ value
n"; }
echo "キー: $key; 値: $value
n";
}
?>
デモの使用例:
コードをコピー
$a = array (1, 2, 3, 17); foreach ($a as $v); { print "$a の現在の値: $v.n"; $a = 配列 (1, 2, 3, 17);
$i = 0; $a as $v) {print " $a[$i] => $v.n" ;
}
$a = array (
"one" = > 1,
"two" => 2,
"seventeen" => 17
); k => $v) {
print "$a[$k] => $v.n";
$a[0] [0] = "a"; a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z"; a as $v1) {
foreach ($ v1 as $v2) {
print "$v2n";
}
foreach (array(1, 2, 3, 4, 5) $v) {
print " $vn" >}
?>;
コードをコピー コードは次のとおりです。
//foreach
$tar = array (
1 => '東'、
2 => '西'、
4 => '南東' 、
6 => '南西'、
7 => '北東'、
9 => '北南'、
10 => ' スタッフ',
);
$TM = 'west'
foreach( $tar as $v=>$vv )
{
if( $vv = = $TM )
{
echo $vv.'-'.$v.'
';
break
}
//echo $vv; 🎜>}
//West-2
//for
コードは次のとおりです: echo '
' for( $i=1;$i<=count( $tar ) ;$i )
if( $tar[$i] = = $TM )
{
echo $tar[$i].'-'.$i.'
';
break
}
}
//西-2
要約: foreach と for の結果はまったく同じですが、ホーム ページの効率の点では foreach の方が優れています。配列の長さを知り、$i を使用して操作する場合、page foreach は配列の長さを知る必要がなく、キーと値を自動的に検出して入力できます。