PHPの「ループ(for,foreach,while,do〜while)文」を使って繰り返し処理をしよう

目安時間:約 7分

本日の勉強は、ループ(for,foreach,while,do〜while)文を使ったPHPプログラミングです。

 

前回は、「IF文」を使ったプログラミングでした。

 

PHPのループには、4通りの方法があります。

1.for
2.foreach

3.while

4.do〜while

 

この4通りの方法について、説明を致します。

 

sampleloop.php

<?php
// LOOP1
echo "LOOP1 START<br>";
for ($i = 1; $i <= 10; $i++) {
    echo $i ;
    echo '<br>';
}
echo "LOOP1 END<br>";

// LOOP2
echo "LOOP2 START<br>";
$arr = array(1, 2, 3, 4);
foreach ($arr as &$val) {
    $val = $val * 2;
    echo $val ;
    echo '<br>';
}
echo "LOOP2 END<br>";

// LOOP3
echo "LOOP3 START<br>";
$arr1 = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventteen" => 17
);
foreach ($arr1 as $k => $v) {
    echo "\$arr1[$k] => $v<br>";
}
echo "LOOP3 END<br>";

// LOOP4
echo "LOOP4 START<br>";
$arr2 = array();
$arr2[0][0] = "a";
$arr2[0][1] = "b";
$arr2[1][0] = "y";
$arr2[1][1] = "z";
foreach ($arr2 as $v1) {
    foreach ($v1 as $v2) {
        echo "$v2<br>";
    }
}
echo "LOOP4 END<br>";

// LOOP5
echo "LOOP5 START<br>";
$count = 0;
while ($count <= 5) {
    if ($count > 3) {
        break;
    }
    echo $count."<br>";
    $count++;
}
echo "LOOP5 END<br>";

// LOOP6
echo "LOOP6 START<br>";
$num = 0;
do{
	print 'num = '.$num.'<br />';
	$num += 1;
}while ($num < 3);
echo "LOOP6 END<br>";

 

実施結果
http://localhost:8080/sampleloop.php

LOOP1 START
1
2
3
4
5
6
7
8
9
10
LOOP1 END
LOOP2 START
2
4
6
8
LOOP2 END
LOOP3 START
$arr1[one] => 1
$arr1[two] => 2
$arr1[three] => 3
$arr1[seventteen] => 17
LOOP3 END
LOOP4 START
a
b
y
z
LOOP4 END
LOOP5 START
0
1
2
3
LOOP5 END
LOOP6 START
num = 0
num = 1
num = 2
LOOP6 END

 

プログラミンを見てわかると思いますが、

「for,while,do〜while」の方はループする回数を明確にして、カウントをアップする必要があります。

「foreach」の方は設定している数分のみループし、カウントアップが必要ない。

「do〜while」の方は条件式が処理後にあるので必ず1回は処理を行う。

 

この様にループ文には特徴があり、どのような処理を行うかで選択してください。

 

ループ文で汎用的且つ、バグ(間違い)をなくすためにおすすめするのは「foreach」です。

 

随時、ループの回数が変わった場合、「for,while,do〜while」はループカウントを書き換えなければなりません。

 

しかし「foreach」は、設定している数分のみループするので書き換えが不要です。

 

なので、ループ回数が変わっても、書き換えが不要な「foreach」を使うことをおすすめします。

 

「foreach」の方法は、LOOP2〜LOOP4なので、参考になればと思います。

 

この調子で、RubyPythonのループも勉強します。

 

50歳の私と一緒にプログラミングの勉強を始めませんか?

 

この記事に関連する記事一覧

コメントフォーム

名前

メールアドレス

URL

コメント

CAPTCHA


トラックバックURL: 
プロフィール

50歳、派遣社員。いつもいつも派遣切りにビクビクしながら生きています。50歳という大台を迎えると派遣先がほとんどなく、次の派遣先は無いに等しい。でも、家庭を支えなければならない。だから私は、複数の仕事が出来るように在宅ワークが出来るプログラミング、ブログを選択。50歳からフリーランスを目指してプログラミング、ブログを始めました。

私と一緒に始めませんか?

お問い合わせ
プログラミング依頼

 

最近の投稿
アーカイブ

ページの先頭へ