PHPの配列の基本と使い方を解説【PHP初心者向け】
こんにちは、今回はPHP初心者の方向けにPHPの配列の基本と使い方を解説します。
配列とは
配列は、複数のデータを格納することができ、様々なデータを入れたり取り出せる箱のようなものです。
通常は以下のように1つの変数に、1つのデータを代入します。
PHP
<?php
$food = 'アイス';
?>
しかし、1つの変数に複数のデータを格納したい場面に遭遇した際、データ毎に変数を用意するのは効率がよくありません。
そこで登場するのが配列です。配列を使用すると1つの変数に複数のデータを格納できるようになります。
配列の種類
配列には「一次元配列」と「多次元配列」があります。
今回は、PHPやWordPressで配列を扱う際に使用するarrayを用いて、一次元配列と多次元配列の基本的な使い方について説明します。
一次元配列の使用方法
一次元配列は、大きく分けてインデックス配列と連想配列があります。
それぞれの特徴と使い方を見ていきましょう。
インデックス配列
最初に、コードと実行結果をご覧ください。
PHP
<?php
$index = array('A', 'B', 'C'); /* 配列を宣言 */
print_r($index); /* 配列名を指定して、配列を出力 */
echo $index[1]; /* キーを使用し指定した要素のみ出力 */
?>
実行結果
Array
(
[0] => A
[1] => B
[2] => C
)
B
配列はarray()関数を使って宣言できます。
配列の中の各データを要素と呼び、要素にキーを設定することで、キーを指定しデータを取り出すことができます。
インデックス配列では、キーが0から順に割り当てられます。
また、データを呼び出す際は、$配列名[キー番号]のように書きます。
上記の場合、index[0]に「A」、index[1]に「B」、index[2]に「C」と割り当てられているのがわかります。
連想配列
データを格納する際に自動的にキーが割り当てられるインデックス配列とは異なり、連想配列ではキーに任意の名前をつけることができます。
キーは、'キー名' => '値' で割り当てることができます。
PHP
<?php
$color = array(
'red' => '赤',
'blue' => '青',
'yellow' => '黄',
);
print_r($color);
echo $color['blue'];
?>
実行結果
Array
(
[red] => 赤
[blue] => 青
[yellow] => 黄
)
青
上記のようにキー名をつけられるため、管理がしやすいのが特徴です。
多次元配列の使用方法
多次元配列とは、2次元以上の要素を持つ配列のことを指します。配列の中に配列が入っているとイメージしていただければ大丈夫です。
それでは、実際のコードを見ていきましょう。
PHP
<?php
$body = array(
array('佐藤','170cm','65kg'),
array('田中','164cm','53kg'),
array('矢部','178cm','78kg')
);
print_r($body);
echo $body[2][1]; /* 2番目要素の178cmを取り出す */
?>
実行結果
Array
(
[0] => Array
(
[0] => 佐藤
[1] => 170cm
[2] => 65kg
)
[1] => Array
(
[0] => 田中
[1] => 164cm
[2] => 53kg
)
[2] => Array
(
[0] => 矢部
[1] => 178cm
[2] => 78kg
)
)
178cm
実行結果から、配列$bodyの中に3つの配列が入っていることが確認できます。
また、特定のデータを出力する際は
echo $配列名[上層配列のキー][下層配列のキー]
でキーを2つ指定する必要があります。
上記のコードでは、インデックス配列を使用した多次元配列になりますが、連想配列で構成することも可能です。
array()の短縮構文
ここまで、array()を使ってご紹介してきましたが、PHPでは [](角括弧) を利用して配列の短縮構文を扱うこともできます。
多次元配列で使ったコードを短縮構文にしたものが下記になります。
PHP
<?php
$body = [
['佐藤','170cm','65kg'],
['田中','164cm','53kg'],
['矢部','178cm','78kg']
];
print_r($body);
echo $body[2][1];
?>
実行結果は同じですが、コードが少し短くなり見やすくなったと思います。
WordPressについて学んでいく中で、arrayを見ることが多いです。どちらも知っておく事をお勧めします。
ちなみに
配列の要素を指定する際、$配列名[]や$配列名{}は同じ意味で使用できました。ですが、波括弧でのキー指定はPHP7.4.0以降は非推奨になってますのでご注意を。
最後に
基本的な配列(array)の使い方についてご紹介しました。
array_keysやarray_search etc..とarrayだけでも便利な関数が多くあり、if文やforeach文と併用することでより実用的かつ効率的になります。
配列は他の言語でも使われ、理解してしまえば別の場面でも活用できますので、ぜひ使ってみてください!