PHP 配列-連想配列-多次元配列〜未経験の為のPHPプログラミング講座〜

変数で情報を一時的にメモリーに保存することを学びました。
配列は変数とよく似ていますが、一度に複数の情報を保存する事ができます。

この記事の著者 ->S.E; です。
普段は、システム開発に必要なヒアリング、システムの要件定義、設計からプログラマとしてWebサイトやWebアプリケーションの開発、WordPressでのブログの執筆やサーバー運用・管理を行っています。
このページは「未経験の為のプログラミング講座 ゼロから始めるPHPプログラミング〜初級から実践編までを網羅〜」としてPHPの基本的な部分を【初級編】【中級編】【上級編】に分けて解説しています。最終的には簡単なフォームやシステム開発をフルスクラッチで行うことを目的としています。また、参考になる書籍なども紹介しています。
配列の基本
配列は一つの箱(変数名)に複数の情報を保存します。
値を代入する
配列の基本的な記述方法は「array関数」を利用します。代入する値は「,」で区切り指定することができます。
1 2 3 | <?php $data = array('赤','青','黄'); ?> |
のように記述します。
上記の記述で代入した値にはそれぞれ自動で「インデックス番号」が付いています。
値を呼び出す
配列に格納した情報を呼び出すにはブラケット「[]」の中にインデックス番号を添え字として記入します。
インデックス番号は0から始まることに注意が必要です。
1 2 3 4 5 6 7 8 9 10 | <?php // 赤を呼び出す。 echo $data[0]; // 青を呼び出す。 echo $data[1]; // 黄を呼び出す。 echo $data[2]; ?> |
1 2 3 | 赤 青 黄 |
インデックス番号を指定する
自動でインデックス番号を割り振ると「0」から開始されますが、代入時に番号を指定することができます。
1 2 3 | <?php $data = array( 1 => '赤','青','黄'); ?> |
上記のように最初に代入する「赤」にインデックス番号「1」を指定すると、以降のインデックス番号は「2,3」となります。
1 2 3 4 5 6 7 8 9 10 | <?php // 赤を呼び出す。 echo $data[1]; // 青を呼び出す。 echo $data[2]; // 黄を呼び出す。 echo $data[3]; ?> |
その他の配列記述方法
$data = array(‘赤’,’青’,’黄’); は以外に、下記のようにも記述できます。
1 2 3 4 5 6 7 | <?php $data[0] = '赤'; $data[1] = '青'; $data[2] = '黄'; ?> |
1 2 3 4 5 6 7 | <?php $data[] = '赤'; $data[] = '青'; $data[] = '黄'; ?> |
連想配列
配列では添え字はインデックス番号(数値)でしたが連想配列では文字列を利用する事ができます。
下記のような情報を連想配列に格納してみましょう。
山田太郎 | 20歳 |
佐藤次郎 | 25歳 |
鈴木一郎 | 17歳 |
山田花子 | 30歳 |
1 2 3 4 5 6 7 8 9 10 | <?php $age = array( '山田太郎' => '20歳' ,'佐藤次郎' => '25歳' ,'鈴木一郎' => '17歳' ,'山田花子' => '30歳' ); echo $age['山田太郎']; ?> |
1 | 20歳 |
多次元配列
配列に入れ子で配列を格納することもできます。
データベースなどを利用し情報を取り出す時などに利用するより実践的な使い方です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $data = array( array( 'name' => '山田太郎' ,'age' => '20歳' ,'gender' => '男性' ) ,array( 'name' => '佐藤花子' ,'age' => '25歳' ,'gender' => '女性' ) ); ?> |
それぞれの情報の呼び出し方は
1 2 3 4 5 6 7 8 9 10 11 | <?php // 名前を呼び出し echo $data[0]['name']; echo $data[1]['name']; // 山田太郎の年齢を呼び出し echo $data[0]['age']; // 佐藤花子の性別を呼び出し echo $data[1]['gender']; ?> |
1 2 3 4 5 6 | 山田太郎 佐藤花子 20歳 女性 |
まとめ
配列を利用しない場合、変数が持つ情報は1つですが、配列を利用することにより複数の情報を保存する事ができます。
同じ$dataであっても、配列を利用することにより複数の情報を持たせることができます。
S.E->お勧め記事;
- macOS Monterey にアップデート後、composerやhomebrewでenv: php: No such file or directoryが出る
- CrowdWorks いつの間にか「プロクラウドワーカー」になっていた
- Panic Nova 購入から1年が過ぎライセンスの更新時期の注意点
- Shopify APIを利用して在庫管理を行う
- PHP フレームワーク Laravel ディレクティブ – ループ変数 $loop –
- XSERVERにSSHを利用してLaravel環境を構築する
- PHPフレームワーク「Laravel」ディレクティブ-繰り返し処理(ループ処理)-
- プログラマー になる為に必要な プログラミング以外 の知識・スキル
- CrowdWorks 提案後、受注に繋がりました。提案〜契約までの流れを解説
S.E->PR;
チームのタスク管理ツール【backlog】
FREENANCE(フリーナンス)
S.E->Weekly Ranking;
S.E->プロフィール;


2件のピンバック
PHP 比較演算子 | プログラミング教育や副業に関する情報
PHP 繰り返し処理(ループ処理) | プログラミング教育や副業に関する情報