配列、連想配列

この研修では、htdocs/LetsEngineer/curriculum/2-7フォルダの中に課題を作成してください。

配列


例えば、あなたが4つの国名を出力するとします。
このとき、1つ1つ変数に入れて出力することは少しスマートではないです。

<?php
$country_1 = "America";
$country_2 = "Japan";
$country_3 = "China";
$country_4 = "Korea";

echo $country_1;
echo $country_2;
echo $country_3;
echo $country_4;
?>

このとき、 同じような値、文字列をひとまとめに宣言する 手法として配列(Array)が使われます。
上のコードを書き換えると、

<?php
$countries = ["America", "Japan", "China", "Korea"];

echo $countries[0];
echo $countries[1];
echo $countries[2];
echo $countries[3];

これで、ほぼ同じ出力結果になったと思います。

配列の宣言


配列を宣言するためには、[]を使用します。

$countries = ["America", "Japan", "China", "Korea"];

これで$countriesに4つの国の名前が入りました。
この配列は順番があります。
ただし、プログラミングにおいて1番はじめの要素(America)は0番目、2番目の要素(Japan)は1番目、と0スタートの数え方になります。
この点は注意しましょう。

// 0番目のAmericaを出力したい場合
echo $countries[0];
// 1番目のJapanを出力したい場合
echo $countries[1];
// 2番目のChinaを出力したい場合
echo $countries[2];
// 3番目のKoreaを出力したい場合
echo $countries[3];
?>

 

配列の各要素にアクセスする方法は上記になりますが、配列全体を表示させたい場合は、以前使用したvar_dumpを使用します。

var_dump($countries);

ブラウザだと見づらいので、少し整形します。

array(4) {
    [0]=> string(7) "America"
    [1]=> string(5) "Japan"
    [2]=> string(5) "China"
    [3]=> string(5) "Korea"
}

arrayというのは配列であることを表し、()内は4つの要素を含んでいると示しています。
0番目の要素として、文字列のAmerica、1番目は文字列のJapan、といった具合になっていることが分かります。

連想配列


配列と似た仕組みで 連想配列 があります。
先ほどの配列は0番目がAmerica、1番目がJapan、と順番で定義していたのに対し、連想配列では順番に名前をつけることができます。
ちょっと意味が分からないかもしれませんが、実際に例を示します。

フルーツの名前を格納した配列を用意します。
それぞれを出力する方法も大丈夫ですね?

$fruits = ["りんご", "みかん", "ぶどう"];

// 0番目のりんごを出力
echo $fruits[0];
echo `<br />`;
// 1番目のみかんを出力
echo $fruits[1];
echo `<br />`;
// 2番目のぶどうを出力
echo $fruits[2];
echo `<br />`;
// 配列全体を出力
var_dump($fruits);

配列は、言い換えれば0番目の箱の中にりんごを入れてしまうこととも捉えることができます。
(変数と同じような考えに落とし込みます。)

これはこれで良いのですが、時間がたって、「あれ?0番目に入っている果物ってなんだっけ?」と忘れてしまうこともあるかと思います。
そのため、 0番目、1番目、2番目にある箱に名前をつけて、分かりやすくしよう という考えが連想配列です。

連想とは、一つの考えに伴って、それとの関連で思い浮かぶこと。その浮かんだ観念。

連想配列の宣言


<?php
$fruits = ["apple" => "りんご", "orange" => "みかん", "grape" => "ぶどう"];

// りんごを出力
echo $fruits["apple"];
// みかんを出力
echo $fruits["orange"];
// ぶどうを出力
echo $fruits["grape"];
?>

試しにvar_dumpしてみましょう。

array(3) {
    ["apple"]=> string(9) "りんご"
    ["orange"]=> string(9) "みかん"
    ["grape"]=> string(9) "ぶどう"
}

配列とは違うことが分かります。
配列と連想配列で使い分けが明確にあるわけではないのですが、

  • 機械的に順番に処理する → 配列
  • 特定の要素にアクセスする場合があるとき → 連想配列

配列、連想配列はプログラムを組むうえで非常に強力な武器になります。
まだ実感はないと思いますが、存在だけは覚えておきましょう。

配列、連想配列への要素の追加


当然、グループに要素を追加、削除、順番の変更などができます。
ここでは使用機会が多い 追加 に絞ってみていきます。

配列の場合


$fruits = ["りんご", "みかん", "ぶどう"];

順番を指定して追加するならば、下記になります。

// 0、1、2番目はもうつかわれているので、次は3番目
$fruits[3] = "もも";

また連番で良いという場合は、下記のように書けます。

// プログラムが勝手に判断して順番をつけてくれる
$fruits[] = "もも";

結果はvar_dumpで確認してください。

連想配列の場合


連想配列の場合は、名前をつける必要があるので、下記になります。

<?php 
$fruits = ["apple" => "りんご", "orange" => "みかん", "grape" => "ぶどう"]; 
$fruits["peach"] = "もも";

課題


  • 以下のように出力されるよう、プログラムを組んでください。
  • 出力にはvar_dumpを使用します。
  • まず、連想配列を定義した後、要素を追加して再度出力します。

IT用語 SESに向けて準備しよう


3章では一つ一つの項目で数個のIT用語について調べていただきます。
どの用語もSESでよく耳にする言葉なのできちんと調べていきましょう!

下記の用語について、調べてみましょう。
※IT用語についてはチェックテストの範囲外です。

1. プルリクエスト(マージリクエスト)
2. Git Flow
3. CRON

用語の意味を調べて同じく2-7フォルダ内に記載してください。
Hello Worldでやった時のように用語については記載するようにしてください。

カテゴリー

アーカイブ

Close Bitnami banner
Bitnami