【PHP】配列(array)の使い方をわかりやすく解説!!

配列とはデータの塊の事です。
1つの変数の中に、複数の値を入れることが出来ます。

例えば、LINEの友達を変数に入れるとなると、友達の数だけ変数を作らないといけないので、管理するだけでも大変です。
なので複数データがある場合は、1つの変数だけで複数のデータが入れれる配列を使った方が便利なのです。

ここでは初心者でもわかりやすいサンプルコード付きで丁寧に配列(array)について解説していきます。

arrayの構文

先ほども言いましたが、PHPでは、このarray()関数を使用して配列を作成します。
PHPでは、3種類の配列があります。

・インデックス付き配列: 数値のインデックスを持つ配列
・連想配列: 名前付きキーを持つ配列
・多次元配列: 1つ以上の配列を含む配列

配列の使い方

配列はarray()の()の中に任意のタイプの要素を格納fできます。
そして、値を配列のインデックス(番号)を指定することで、その番号の中にある値を取り出すことができます。
インデックスはゼロから始まりますので注意してください。

配列を使った例をみてみましょう。

出力結果



連想配列の使い方

これらのタイプの配列は、インデックス付き配列に似ていますが、線形ストレージの代わりに、
すべての値に文字列タイプのユーザー定義のキーを割り当てることができます。

出力結果

太郎
一郎
圭佑


キーを指定する例

また、部分的にキーを指定することもできます。


部分的にキーを指定する例

配列を結合する方法

配列を結合するにはarray_merge()を使います。
array_merge()は配列Aと配列Bをマージ(結合)することができます。

出力結果

Array
(
[0] => リンゴ
[1] => オレンジ
[2] => メロン
[3] => バナナ
[4] => パイナップル
[5] => strawberry
[6] => cherry
[7] => watermelon
)

配列$fruits1と$fruits2を作成し、array_merge関数を使用して$fruits1の後ろに$fruits2を結合しています。

配列を追加する方法

[](角カッコ)をつける例

配列に追加する方法は[](角カッコ)をつけます。
これはが一番シンプルな方法だと思います。

[](角カッコ)は以下のようになります。

上記のように追加したい配列に[](角カッコ)を付けて=(イコール)で代入すると、どんどん値が配列に追加されます。
あまりにも数が膨大になると大変ですが、追加する値が少なければこの方法が良いでしょう。
ここで[]を使った例を見てみましょう。

出力結果

Array ( [0] => nagasawa [1] => kitagawa [2] => nishina [3] => shinoda [4] => sano [5] => sakuraba )

shinodasanosakurabaが配列の最後に追加され、6人で出力されました。

array_push関数で追加する例

配列に追加する際によく使われるのがarray_push()による追加です。
これは複数の配列を一気に追加する際に便利な関数です。

出力結果

Array
(
[0] => nagasawa
[1] => kitagawa
[2] => nishina
[3] => shinoda
[4] => sano
[5] => sakuraba
)

array_pushの構文

追加したい配列を第一引数に設定し、第二引数以降は追加する値をカンマ区切りで追加していきます。
追加する値が多い場合はarray_push()を使うと良いでしょう。

array_pushのエラー

array_push()の第一引数は必ず配列じゃないといけません。
配列以外だと以下のエラーが出ます。

配列の値を置換する方法

配列の値を置換するにはarray_splice()関数を使用します。
array_splice()は、配列の一部を切り取り、そこに新しい要素を挿入する関数です。
切り取る要素、または挿入する要素のどちらか一方をなしにすれば、単純な削除、または挿入ができます。
この関数は元の配列に変更を加えます。

・&$input
対象の配列。
・$offset
切り取りを開始する位置までのオフセット。例えば2を指定した場合、3つ目が開始位置となる。負の数を指定した場合は、最後の要素が-1、その1つ前が-2というように末尾から数えた位置となる。
・$length: 初期値はcount($配列)
切り取る要素の数。デフォルトでは、第2引数で指定した位置以降の全ての要素を切り取る。負の数を指定した場合、最後の要素までが-0、その1つ前までが-1というように末尾から数えた位置が最後の切り取り位置となる。
・$replacement: 初期値はarray()
新しく挿入する要素を一覧にした配列で指定する。配列で指定しなかった場合、内部で配列に型変換される。

・返り値: array
切り取った部分の配列

配列の値を検索する方法

要素を検索するには array_search() 関数を使います。
array_search()は配列内に指定した値の要素が見つかった場合、見つかった要素の位置を返します。
PHPのこの組み込み関数は、配列内の特定の値を検索するために使用され、値が見つかった場合、対応するキーを返します。
複数の値がある場合、最初に一致した値のキーが返されます。

array_search()関数は以下のようになります

この関数は、以下に説明する3つのパラメータを取ります。

・$値
配列内で検索する必要がある値を参照します。
・$配列
検索する必要がある元の配列を参照します。
・$オプション
trueまたはfalseに設定でき、検索の厳密さを示します。このパラメーターのデフォルト値はfalseです。
trueの場合、関数は同じ要素をチェックします。falseの場合、厳密性は維持されません。

・戻り値
関数は渡された対応する値のキーを返します。
見つからない場合、falseが返され、一致するものが複数ある場合は、最初に一致したキーが返されます。

array_search()関数を使った例を見てみましょう。

	

2

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し