【PHP入門】変数と配列②


変数と配列②

前の記事で紹介した、
1つしか値が入らない変数を、
スカラー型の変数と呼びます。
対してこの記事では、複数の値を入れる配列を紹介します。


配列

配列とは、複数の値を一まとめにしたものです。
スカラー型の変数と違い、
複数の値を1つの変数名で管理できる利点があります。

定義するときは、array()の()の中、または[]の中に、
値をカンマ区切りで列挙します。
また、1つずつ値を追加していく方法もあります。

配列の定義例

$array1 = array("A", "B", 1);

$array2 = ["A", "B", 1];

$array3[] = "A";
$array3[] = "B";
$array3[] = 1;

配列の要素

配列の格納した値の1つ1つを要素と言い、
それぞれに0から順に管理用の番号が振られています。
この番号のことをインデックスと言います。
要素を取得する場合はインデックスを指定して取り出します。
存在しないインデックスを指定した場合はエラーになります。

<?php
	$colors = ["red", "blue", "green", ];
	echo $colors[0];
?>

表示結果:red
※列挙する際にカンマで終わっていてもOKです


配列の応用1 for文

配列はfor文と組み合わせて使用されることが多いです(参考: for文とは)。

for文の初期化式の変数をインクリメントしていくと1ずつ増えてきます。
この変数とインデックスを結びつけます。

<?php
	$techs[] = "php";
	$techs[] = "Java";
	$techs[] = "C#";
	$techs[] = "Python";

	for ($i = 0; $i < count($techs); $i++) {
		echo $techs[$i]." ";
	}
?>

表示結果:php Java C# Python

count(配列名)で配列の要素数を取得することができます。
今回のサンプルの場合は4となります。

for文の変数$iが繰り返しの度に0,1,2,3と増えていき、
4になったときに繰り返し終了となります。
その間の処理は $tech[0], $tech[1], $tech[2], $tech[3]となり、
上記のような表示結果になるわけですね。


配列の応用2 foreach文

配列の応用1で見たように、
配列はfor文とともに使われるのが典型的です。

しかし、注意すべきなのは、
(上でも述べたように)配列のインデックスが、
0から始まり、
配列の要素数より1少ない数で終わることです。

なので、for ($i = 0; $i < count($techs); $i++)count($techs)の部分を、
4やそれ以上の整数、ないしマイナスの整数にすると、
存在しないインデックスを指定したとしてエラーになります。

この危険を避けるため、インデックスが必要ない場合は、for文の代わりに、
foreach文を使います(参考: foreach文とは)。
ここでは、下記のサンプルを見て、そのような構文があること、
出力結果はfor文と(値だけ出力する場合は)同じであることを確かめてください。

<?php
	$techs[] = "php";
	$techs[] = "Java";
	$techs[] = "C#";
	$techs[] = "Python";

	foreach($techs as $tech){
		echo $tech." ";
	}
?>

表示結果:php Java C# Python

  • このエントリーをはてなブックマークに追加

PAGE TOP