PHP 配列の使い方のサンプル

PHPの配列の使い方のサンプルです。

確認環境
・PHP 7.2.8
・XAMPP 7.2.8
・Windows 10

目次

配列とは

  • 1つの変数で複数の値を保持できます。
  • 配列のそれぞれの値は添字(インデックス番号)でアクセスできます。上記図では[0]、[1]、[2]、[3]が添字です。
  • 添字は0から始まります。
  • 以下は、PHPマニュアルの配列のリンクです。
    http://php.net/manual/ja/language.types.array.php

配列を作成/参照する

配列の作成と参照のサンプルです。

<?php

$ar1 = ["赤","黄","青"];
//$ar1 = array("赤","黄","青");

print_r($ar1); //Array ( [0] => 赤 [1] => 黄 [2] => 青 )

echo $ar1[0]; // 赤
echo $ar1[1]; // 黄
echo $ar1[2]; // 青

?>

3行目は、配列を作成しています。
4行目は、arrayで配列を作成しています。※PHP 5.4からarrayを使用せずに配列を作成できるようになりました。
http://php.net/manual/ja/migration54.new-features.php
8~10行目は、添字を指定してそれぞれの値を表示しています。

 

配列の値を追加/更新/削除する

配列の値の追加と更新と削除のサンプルです。

<?php
$color = ["赤","黄","青"];

//追加
$color[] = "白";
print_r($color);//Array ( [0] => 赤 [1] => 黄 [2] => 青 [3] => 白 )

//更新
$color[1] = "オレンジ";
print_r($color);//Array ( [0] => 赤 [1] => オレンジ [2] => 青 [3] => 白 ) 

//削除
unset($color[2]);
print_r($color);//Array ( [0] => 赤 [1] => オレンジ [3] => 白 )

?>

5行目は、配列の値を追加しています。最後尾に追加されます。
9行目は、添字を指定して値を更新しています。
13行目は、unset関数で削除しています。添字は自動でつまりません。(0→1→3)

 

配列の各値をfor文のループで取得する

配列の各値をfor文のループで取得するサンプルです。

<?php
$color = ['赤','黄','青'];

foreach ($color as $a){
	echo $a; //赤 黄 青
}

for ($i = 0 ,$size = count($color); $i < $size; ++$i) {
	echo $color[$i]; //赤 黄 青
}
?>

4~6行目は、foreach文で配列の各値を表示しています。
8~10行目は、for文で配列の各値を表示しています。
8行目のfor文は、1つ目の引数の箇所で配列のサイズを取得しています。2つ目の引数でcountを使用すると都度countを実行してしまい遅くなるためです。
foreach文の方がシンプルで使いやすいです。

以下は、PHPマニュアルのforのリンクです。
http://php.net/manual/ja/control-structures.for.php

 

連想配列を作成/参照する

連想配列の作成と参照のサンプルです。

<?php

$ar1 = ['c1'=>'赤',
		'c2'=>'黄',
		'c3'=>'青'
	];
//$ar1 = array('c1'=>'赤', 'c2'=>'黄', 'c3'=>'青');

print_r($ar1); //Array ( [c1] => 赤 [c2] => 黄 [c3] => 青 ) 

print $ar1['c1']; // 赤
print $ar1['c2']; // 黄
print $ar1['c3']; // 青

?>

3~6行目は、キーと値を指定して連想配列を作成しています。
7行目は、arrayで連想配列を作成します。※PHP 5.4からarrayを使用せずに配列を作成できるようになりました。
http://php.net/manual/ja/migration54.new-features.php
11~13行目は、キーを指定してそれぞれの値を表示しています。

 

多次元配列を作成/参照する

多次元配列の作成と参照のサンプルです。

<?php

$ar1 = [
	"色の種類2",
	["赤2","黄2","青2"],
	["緑2","白2","黒2"]
];

print_r($ar1);
//Array ( [0] => 色の種類2 
//        [1] => Array ( [0] => 赤2 [1] => 黄2 [2] => 青2 ) 
//        [2] => Array ( [0] => 緑2 [1] => 白2 [2] => 黒2 ) )

print $ar1[0]; // 色の種類2
print $ar1[1][0]; // 赤2
print $ar1[1][1]; // 黄2
print $ar1[1][2]; // 青2
print $ar1[2][0]; // 緑2
print $ar1[2][1]; // 白2
print $ar1[2][2]; // 黒2
?>

3~7行目は、ブラケット[ ]を使用して多次元配列を作成しています。
9行目は、print_r()で変数の情報を表示しています。

関連の記事

PHP 配列の値をループで取得するサンプル(foreach文)
PHP 変数から連想配列を作成するサンプル(compact)
PHP 連想配列から変数を作成するサンプル(extract)

△上に戻る