2015年11月16日

PHP 配列の宣言

«
»

Pocket

今回は「配列の宣言」について書きたいと思います。
 
宣言と言われるとなんだか難しい印象を受けますが、
まずはサンプルプログラムを見てみましょう。

<?php

$fruit = "Apple"; //変数にAppleを格納

$fruit[] = "Orange"; //配列として扱いたい

print_r($fruit);

実行結果

PHP Fatal error: [] operator not supported

解説

実行結果を見て頂くと、5行目のecho の行でエラーになっているのがわかります。
(array7.php on line 5 の部分)
 
また、Fatal Errorですので致命的なエラーです。
エラーの内容ですが、
 

[] operator not supported for strings
⇒ []という配列の操作は文字列にはサポートされていません

つまり、一度、文字列を格納する変数として宣言($fruit = “Apple”のところ)
してしまうと、その後、いきなり配列として扱うことはできないよ、ということです。
 
正解を見ておきましょう。
 

<?php

$fruit = array("Apple"); //配列としての変数にAppleを格納

$fruit[] = "Orange"; //配列として扱いたい

print_r($fruit);

実行結果

PHP 配列 宣言

解説

配列として扱いたいのであれば、最初のAppleを格納する時点で
変数を配列として宣言
しておかなければなりません。
 

配列の初期化

上のサンプルプログラムでは、最初から配列にAppleを入れておくという例を
紹介しましたが、最初は何もいれないで置く(=配列の初期化)を行うことも
できます。

<?php

$fruit = array(); //配列の初期化

array_push($fruit,"Apple","Orange");//2つ一気に追加 

print_r($fruit);

実行結果

PHP 配列 初期化

解説

array()とすることで、中身の無い配列を宣言(=初期化)することができます。

まとめ

・配列として扱いたいのであれば最初からarrayとして宣言する
・配列は中身の無い状態(初期化された状態)でも宣言できる

【関連する記事】