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)