PHPの配列の基本と使い方を解説【PHP初心者向け】

thumbnail

こんにちは、今回は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文と併用することでより実用的かつ効率的になります。

配列は他の言語でも使われ、理解してしまえば別の場面でも活用できますので、ぜひ使ってみてください!