PHP - BASIC - 4. PHPの配列 - 3. 配列の出力

もう一つ注意する点を確認しておきましょう。次のプログラム( array3.php )を作成してみましょう。

<?php
$names = ["Andy", "Betty", "Carol"];

echo $names;

上記のプログラムは一見すると正しく動作するように見えます。作成したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php array3.php
PHP Notice:  Array to string conversion in /home/ec2-user/environment/array3.php on line 4
Array

プログラムを実行すると上記のような注意メッセージが表示されます。 Array to string conversion という出力から「配列を文字列に変換している」と読み取れます。 echo 命令は数値や文字列を出力することはできるのですが、配列のような集合データを出力することはできないため、このようなメッセージが出力されるのです。これはPHPの配列を習いはじめの頃によくある誤りです。

もし配列の要素をすべて確認したいのであれば echo 命令ではなく var_dump 関数を使うことができます。さきほどのプログラム( array3.php )を修正してみましょう。

<?php
$names = ["Andy", "Betty", "Carol"]; 

var_dump($names); 

プログラムを実行してみましょう。

$ php array3.php
array(3) {
  [0]=>
  string(4) "Andy"
  [1]=>
  string(5) "Betty"
  [2]=>
  string(5) "Carol"
}

var_dump 関数によって配列のすべての要素が出力されているのがわかります。

まとめ

  • 配列変数は echo 命令で出力できない
  • 配列変数の出力には var_dump 関数を使う
  • var_dump 関数は変数の詳細な情報を出力する