PHPでの配列

PHP

配列はJavascriptでも出て来ましたが、まずは配列の特性を復習しましょう。
通常、変数は1つの値しか入れる事が出来ず、新しい値を入れると上書きされてしまいます。

一方、配列ではひとつの箱に複数の値を入れることができます。データベースと連動させる事の多いPHPではこの配列の使い方が非常に重要になってきます。

arrayを使った配列
<?php
$color = array('red', 'blue', 'green');
echo $color[0];
?>
arrayを使わないやり方
<?php
$color[0] = 'red';
$color[1] = 'blue';
$color[2] = 'green';
echo $color[1];
?>

配列に入っている値をすべて表示させる

配列に入っている値をすべて表示させたい場合、1つ1つ「echo文」で表示させる事は可能ですが、プログラム的には正しくありません。
配列の値を「あるだけすべて表示させたい」場合、便利なのが「foreach文」です。
foreach文は、配列の要素がある分だけ繰り返し処理するという内容の文です。

しかしforeach文の場合、1つ注意が必要です。

配列内の値を全て出力させる場合、配列名「$color」のままではダメなので「$value」という変数名に置き換える必要があります。

<?php
$color = array('red', 'blue', 'green');
foreach($color as $value){
echo $value . “<br>”;
?>

配列を使う事でフォームのチェックボックスのように複数の解答があるような場合にも対応が出来ます。

<form action="sample.php" method="post">
    <p>好きな色(複数回答可): 
        <input type="checkbox" name="color[]" value="黒">黒
        <input type="checkbox" name="color[]" value="赤">赤
        <input type="checkbox" name="color[]" value="青">青
        <input type="checkbox" name="color[]" value="緑">緑
    </p>
    <p><input type="submit" value="送信"></p>
</form>

データを受け取る側のPHP

<?php
echo '<p>好きな色: ';
foreach( $_POST['color'] as $value ){
    echo "{$value} ";
}
echo '</p>';
?>

コメント

タイトルとURLをコピーしました