この記事では、PHPの配列について、配列の宣言や操作方法をまとめてみました。
基本的な説明は、下記記事で書いています。
・ 配列について
・ 連想配列について
配列についての公式ドキュメントはこちらです。
PHPで配列を宣言する方法
PHPの配列を宣言するには[]
を使用する方法と、array
を使う方法があります。
下記の$arrayTest
はどちらも同じ配列として初期化されています。
$arrayTest = [];
$arrayTest = array();
配列に初期化時に要素を入れて、宣言することも可能です。
[]
とarray
を使って、配列を下記のように作成しましたが、どちらも同じです。
$fruits = ["apple", "orange", "grape"];
$fruits = array("apple", "orange", "grape");
[]
の方が短くかけるので、個人的にはこちらがオススメです。
ちなみに、配列の要素番号(インデックス)は0からになります。
echo $fruits[0]; // apple
echo $fruits[1]; // orange
PHPの配列に要素を追加する
PHPの配列に要素を追加する方法です。
要素の追加には[]
を使用する方法と、array_push
関数を使う方法があります。
[]を使って、追加する
まず[]
を使用する方法です。
$fruits = ["apple", "banana"];
$fruits[] = "grape";
$fruits
配列を2つ要素で初期化した後に、”grape”を追加しました。
この状態で、出力すると下記のようになります。
>>> var_dump($fruits);
array(3) {
[0]=>
string(5) "apple"
[1]=>
string(6) "banana"
[2]=>
string(5) "grape"
}
ちゃんと、”grape”が追加されています。
このように配列[] = 入れたい値
で追加していくことができます。
配列の末尾に追加されていきます。
array_pushを使って、追加する
array_push
関数を使用して、追加する方法です。
$fruits = ["apple", "banana"];
array_push($fruits, "grape");
$fruits
配列は先程と同じように3つの要素が入った状態になります。
このようにarray_push
関数を使用して追加することができます。
第1引数に「配列」を指定して、第2引数に「追加したい要素」を書きます。
こちらも配列の末尾に追加されていきます。
PHPの配列の要素を削除する
配列の要素を削除する方法です。
先頭を削除する
array_shift
関数を使うと、先頭から削除されます。
渡した配列の先頭要素を削除してくれます。
$fruits = ["apple", "banana", "grape"];
array_shift($fruits);
var_dump($fruits);
結果として、配列に残るのは下記になります。
array(2) {
[0]=>
string(6) "banana"
[1]=>
string(5) "grape"
}
末尾を削除する
array_pop
関数を使うと、末尾から削除されます。
渡した配列の末尾要素を削除してくれます。
$fruits = ["apple", "banana", "grape"];
array_pop($fruits);
var_dump($fruits);
結果、配列に残るのは下記になります。
array(2) {
[0]=>
string(5) "apple"
[1]=>
string(6) "banana"
}
array_spliceを使用して、指定位置から削除する
array_splice
関数を使用して、指定位置から削除します。
$fruits = ["apple", "banana", "grape"];
array_splice($fruits, 1, 1);
array_splice
の第1引数には「配列」、第2引数には「削除を開始する要素番号」、第3引数には「削除する個数」を渡します。
今回の例だと、$fruits
配列の1番目の要素から1つ削除するので、下記のように”apple”と”grape”が残ります。
array(2) {
[0]=>
string(5) "apple"
[1]=>
string(5) "grape"
}
下記のように1番目から2つ削除するという指定をします。
$fruits = ["apple", "banana", "grape", "orange", "peach"];
array_splice($fruits, 1, 2);
“banana”から2つとなるので、配列に残るのは"apple", "orange", "peach"
となります。
PHPの配列を結合する
array_merge
関数を使用すると、配列を結合することができます。
$fruits = ["apple", "banana", "grape"];
$game = ["switch", "3DS", "64"];
$chaos = array_merge($fruits, $game);
var_dump($chaos);
array_merge
関数には、第1引数と第2引数に結合したい配列を渡します。
結果の配列が返ってくるので、受け取って使用します。
ここでの結果は、下記のように表示されます。
array(6) {
[0]=>
string(5) "apple"
[1]=>
string(6) "banana"
[2]=>
string(5) "grape"
[3]=>
string(6) "switch"
[4]=>
string(3) "3DS"
[5]=>
string(2) "64"
}
PHPの配列で要素数を取得する
count
関数を使うことで、要素数を調べられます。
$fruits = ["apple", "banana", "grape"];
count($fruits);
結果として、3が返ってきます。
多次元配列になっている場合は、配列の箇所もそのままカウントされてしまいます。
$fruits = ["apple", "banana", "grape", ["hoge", "fuga"]];
count($fruits);
この結果が4になります。
再帰的にカウントしたい場合はモードを指定します。
count($fruits, COUNT_RECURSIVE);
COUNT_RECURSIVE
と指定することで、再帰的にカウントされ6になります。
PHPの配列要素をループして表示する
for
を使う方法とforeach
を使う方法がありますが、配列を全て回すならforeach
を使うと良いと思います。
foreachを使って値を表示する
foreachを使用して、値を表示してみます。
$fruits = ["apple", "banana", "grape"];
foreach($fruits as $key => $value) {
echo "キーは{$key}で値は{$value}";
}
結果、下記のように出力されます。
キーは0で値はapple
キーは1で値はbanana
キーは2で値はgrape
キーを使わない場合は、省略した形でも記述できます。
$fruits = ["apple", "banana", "grape"];
foreach($fruits as $value) {
echo "値は{$value}";
}
forを使って値を表示する
forを使用して、値を表示してみます。
$fruits = ["apple", "banana", "grape"];
for ($i = 0; $i < count($fruits); $i++) {
echo "キーは{$i}で値は{$fruits[$i]}";
}
結果はforeach
と同じように出力されます。
for
を使用する場合には、カウンタ($i)の初期値や、繰り返し条件、カウントアップの値などを書いておかないといけません。
初期値や条件などを間違えることも考えられるため、単純にループするだけならforeach
を使う方がおすすめです。
コメント