配列の出力

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

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

echo $names;

一見すると正しく動作するように見えますが、これは配列を習いはじめの頃によくある誤りです。作成したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php array3.php
PHP Notice:  Array to string conversion in /Users/murayama/Desktop/Udemy-PHP/05_array/src/array3.php on line 4

Notice: Array to string conversion in /Users/murayama/Desktop/Udemy-PHP/05_array/src/array3.php on line 4
Array

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

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

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

var_dump($names);

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

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

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


前へ | 次へ