LoginSignup
12
7

More than 5 years have passed since last update.

[PHP]foreach文をコロン構文で書いた例

Last updated at Posted at 2019-01-02

お急ぎの方、結論はこちら!

そのままforeach文

まずは、よくあるforeach文の例を用意してます。

例1
<?php
$array = [
    1 => "one",
    2 => "two",
    3 => "three",
    4 => "four",
    5 => "five"
];
foreach ($array as $key => $value) {
    echo "{$key}番目は{$value}が格納されている。<br>";
}

\$arrayという配列を用意し、これをforeach文で順番に\$keyと\$valueに代入して順番に表示しています。
これを実行すると…

例1の実行結果
1番目はoneが格納されている。
2番目はtwoが格納されている。
3番目はthreeが格納されている。
4番目はfourが格納されている。
5番目はfiveが格納されている。

…と、このように表示されます。

そのままforeach文をHTMLに入れると

上記のような結果を、HTMLでlist表示させたい場面がよくあります。
このままHTMLに入れ込むと…

例2
<?php
$array = [
    1 => "one",
    2 => "two",
    3 => "three",
    4 => "four",
    5 => "five"
];
?>

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <?php foreach ($array as $key => $value) { ?>
        <li><?php echo "{$key}番目は{$value}が格納されている。"; ?></li>
    <?php } ?>
</body>
</html>

…と、このような書き方になります。
これで、実行すると下の図の通り、ちゃんと結果は得られます。
スクリーンショット 2019-01-02 21.46.10.png

しかし、

<?php } ?>

この『foreach文が終わりなんで、「 } 」ですよ〜』の所なんかは、非常に分かりにくく、ミスも生まれやすいですね。

HTMLにはコロン構文で書く

そこで、以下の書き方がよく使われます。

例3
<?php
$array = [
    1 => "one",
    2 => "two",
    3 => "three",
    4 => "four",
    5 => "five"
];
?>

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <?php foreach ($array as $key => $value) : ?>
        <li><?php echo "{$key}番目は{$value}が格納されている。"; ?></li>
    <?php endforeach; ?>
</body>
</html>

要は、 「 } 」を「 : 」に、「 } 」を「 endforeach; 」に変えた書き方です。
これにより、文字数は少し長くはなりますが、foreachの終わりがどこなのか、分かりやすくなります。

12
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
7