広告 PHP入門

【PHP入門】配列

はじめに

前回の記事では、PHPの変数について紹介しました。

前回の記事

本記事では、PHPの配列について紹介します。

配列とは

配列とは、複数の値を入れることができる変数です。

変数は、数値や文字などを格納しておく箱のようなものであり、変数には1つの値しか格納することができません。それに比べて配列は、数値や文字などを格納しておく箱のようなものが複数あるため、複数の値を格納することができます。

スポンサーリンク

以下は、変数と配列のイメージ図です。

phpの配列

PHPの配列は、実際には順番付けられたマップであり「array」関数を使って次のように「値」を「キー」に関連付けます。

PHPの配列 arrayの例

また、次のように縮めて書くことも出来ます。この場合は「キー」は0から順番に付与されます。※array(value, value2)と書くこともできます。

PHP配列の例

以下は、キー値を指定して配列を作った場合と、キー値を省略した場合の例です。

[配列の例]

<?php

// キー値を指定
$a = array(0 => 1, 1 => 2, 2 => 3);
var_dump($a);

echo "<br />";

// キー値を省略
$b = [1,2,3];
var_dump($b);

?>

[実行結果]

array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }

var_dumpで配列の情報を表示した結果、どちらも同じ内容であることが分かります。

配列要素の参照と代入

配列の要素は「キー」を指定することで参照できます。

$b = $a[キー]

※$aは配列の変数名

そして、配列の要素に値を代入するには、配列の「キー」を指定して値を代入します。

$a[0] = 代入する値

[参照と代入の例]

<?php

// 配列の要素を参照
$a = array(1,2,3);
print $a[0];
echo "<br />";

// 配列の要素に値を代入
$b = array(1,2,3);
$b[0] = "あ";
print $b[0];

?>

[実行結果]

1
あ

配列に要素を追加する

配列に要素を追加するには「array_push」関数を使用します。「array_push」関数は第1引数に要素を追加する配列を指定し、第2引数以降に追加する要素を指定します。

array_push( 要素を追加する配列, 追加したい要素1 [, 追加したい要素2 ] )

[array_push関数の例]

<?php

$a = array(1,2,3);
// 配列に4と5を追加
array_push($a, 4, 5);
var_dump($a);

?>

[実行結果]

array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }

配列から要素を削除する

配列から要素を削除するには「unset」関数を使用します。「unset」関数の引数に配列から削除したい要素を指定します。

[unset関数の例]

<?php

$a = array(1,2,3);
// 配列からキー[0]の要素を削除
unset($a[0]);
var_dump($a);

?>

[実行結果]

array(2) { [1]=> int(2) [2]=> int(3) }

配列の要素数を求める

配列の要素数は「count」関数で取得することができます。

[count関数の例]

<?php

$a = array(1,2,3);
print count($a);

?>

[実行結果]

3

スポンサーリンク

配列を比較して差分を求める

配列を比較して差分を求めるには「array_diff」関数を使用します。比較元の配列にあって比較対象の配列にない値を差分として取得することができます。

array_diff ( 比較元の配列, 比較対象の配列)

[array_diff関数の例]

<?php

$a = array("あ","い","う");
$b = array("い");
$c = array_diff($a, $b);
var_dump($c);

?>

[実行結果]

array(2) { [0]=> string(3) "あ" [2]=> string(3) "う" }

多次元配列

多次元配列とは、2次元配列以上の配列のことです。

1次元配列は、要素数に応じて横に増えていくイメージの配列です。

1次元配列

 

それに対して2次元配列は、要素数に応じて縦と横に増えていくイメージの配列。

2次元配列

 

3次元配列は、要素数に応じて縦と横に増えさらにそれを積み重ねたイメージの配列です。

3次元配列

 

もっと複雑な4次元配列以上の配列もあります。

 

次の例では多次元配列(今回の例は2次元配列)を作成し、多次元配列に格納した値を参照しています。

[多次元配列の例]

<?php

$a = [
    array(1,2,3),
    array(4,5, "a" => 6)
];

// 2次元配列の値を参照
print "配列[0]のキー[0]の値:".$a[0][0]."<br />";
print "配列[0]のキー[1]の値:".$a[0][1]."<br />";
print "配列[0]のキー[2]の値:".$a[0][2]."<br />";
print "配列[1]のキー[0]の値:".$a[1][0]."<br />";
print "配列[1]のキー[1]の値:".$a[1][1]."<br />";
print "配列[1]のキー[a]の値:".$a[1]["a"];

?>

[実行結果]

配列[0]のキー[0]の値:1
配列[0]のキー[1]の値:2
配列[0]のキー[2]の値:3
配列[1]のキー[0]の値:4
配列[1]のキー[1]の値:5
配列[1]のキー[a]の値:6

終わりに

本記事では、PHPの配列について紹介しました。

次回の記事では、PHPの定数について紹介します。

次回の記事

helpful