【PHP】これで分かる関数! – 配列の復習 –

PHP

更新履歴

更新日更新者更新内容
2021/8/19JJI・サンプルプログラムの実行結果に画面の画像を追加

配列の復習

配列の復習です。
配列はデータ型の次の記事で説明しました。

データ型では、主に配列には添え字が数字の配列(インデックス配列)、文字列の連想配列の2種類があることをサンプルプログラムで説明しました。

配列のイメージがつかみにくいと思うので、この記事では図、サンプルプログラムを使って配列の説明をします。

配列

配列は、配列の位置を示す添え字には数字を使用します。
配列の添え字は0番目から開始するのが一般的です。
(PHPの場合、添え字の数字を指定することもでき、0番目から開始しなくて動きます。
ただ、わかりにくくなると思うので、0番目から使うことをおすすめします。)

配列の位置を指定すると対応している値が取得できます。
例えば、次の図のように添え字の1番目を指定すると、”太郎”の値が取得できます。
1番目の箱に”太郎”が入っていると考えるとわかりやすいと思います。

図で示した配列・配列のデータ取得についてサンプルプログラムを載せておきます。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);

    echo "ファイル名:sample02_03_01.php<br>\n";
    echo "【PHP】関数<br>\n";
    echo "1次元配列<br>\n";

    // 1次元配列
    $idx_ary1 = [
        "山田", "太郎", 35, "男性"
    ];

    // 1次元配列の表示
    echo "配列数:" . count($idx_ary1) . ":<br>\n";
    echo "配列[1]:" . $idx_ary1[1] . ":<br>\n";
    echo "<br>\n";

    // 配列の全要素の出力
    // for文
    echo "for文<br>\n";
    for($i = 0; $i < count($idx_ary1); $i++) {
        echo "${i}:" . $idx_ary1[$i] . ":<br>\n";
    }
    echo "<br>\n";

    // foreach文
    echo "foreach文<br>\n";
    foreach($idx_ary1 as $data) {
        echo ":" . $data. ":<br>\n";
    }
    echo "<br>\n";
?>

実行結果は次の通りです。

・画面

・HTML

ファイル名:sample02_03_01.php<br>
【PHP】関数<br>
1次元配列<br>
配列数:4:<br>
配列[1]:太郎:<br>
<br>
for文<br>
0:山田:<br>
1:太郎:<br>
2:35:<br>
3:男性:<br>
<br>
foreach文<br>
:山田:<br>
:太郎:<br>
:35:<br>
:男性:<br>
<br>

連想配列

連想配列は、配列の位置を示す添え字には文字列を使用します。
連想配列は今後で説明するデータベースの値を入れる、XML、JSONなどの値を入れるときに使用することが多いです。

配列の位置で添え字に設定した文字列を指定すると対応している値が取得できます。
例えば、次の図のように添え字の”second_name”を指定すると、”太郎”の値が取得できます。
“second_name”と名前がついている箱に”太郎”が入っていると考えるとわかりやすいと思います。

図で示した連想配列・配列のデータ取得についてサンプルプログラムを載せておきます。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);

    echo "ファイル名:sample02_03_02.php<br>\n";
    echo "【PHP】関数<br>\n";
    echo "1次元の連想配列<br>\n";

    // 1次元連想配列
    $aso_ary1 = [
        "first_name" => "山田", "second_name" => "太郎", "age" => 35, "seibetsu" => "男性"
    ];

    // 1次元配列の表示
    echo "配列数:" . count($aso_ary1) . ":<br>\n";
    echo "配列[\"second_name\"]:" . $aso_ary1["second_name"] . ":<br>\n";
    echo "<br>\n";

    // 配列の全要素の出力
    // foreach文
    echo "foreach文<br>\n";
    foreach($aso_ary1 as $key => $val) {
        echo $key . ":" . $val. ":<br>\n";
    }
    echo "<br>\n";
?>

実行結果は次の通りです。

・画面

・HTML

ファイル名:sample02_03_02.php<br>
【PHP】関数<br>
1次元の連想配列<br>
配列数:4:<br>
配列["second_name"]:太郎:<br>
<br>
foreach文<br>
first_name:山田:<br>
second_name:太郎:<br>
age:35:<br>
seibetsu:男性:<br>
<br>

コメント