PHPで文字列を出力するときに使用するechoの使い方を書いています。
コードの検証にはPHP8を使っています。
echoの使い方
echoと書いた後に、スペースをひとつ開けて、出力したい内容を書きます。
<?php
echo 'test!!!';
文字列や変数の場合はスペースなしでも使えますが、見づらくなるのでスペースは常に入れておいた方が良いです。
出力結果には改行文字コードやスペースなどは勝手に入ることはありません。
連続で出力すると、前と後ろの文字列が連結されたような形で出力されます。
ブラウザからサーバーにリクエストして、PHPファイルが実行された場合はブラウザに結果が表示されます。
PHPコマンドで実行した場合にはターミナル(コンソール)に出力結果が表示されます。
単純に文字列だけでなく、変数や数値を直接渡して、出力することも可能です。
<?php
$fruit = 'apple';
echo $fruit; // appleが出力される
echo 100; // 100が出力される
echo 'abc'; // abcが出力される
上記はapple100abc
と出力されます。(スペースなどは勝手に入らないため)
配列やクラスのインスタンスなどを指定すると、警告やエラーが出るため注意が必要です。
関数のように使う
前述したように、関数のように扱うこともできます。
丸括弧「()
」の中に出力したい値を渡します。下記は先ほどと同じですが、丸括弧をつけた形です。
<?php
$fruit = 'apple';
echo($fruit); // appleが出力される
echo(100); // 100が出力される
echo('abc'); // abcが出力される
複数のパラメータを渡す
複数のパラメータを渡す場合は、カンマ(,
)で区切って渡します。
<?php
$fruit = 'apple';
echo $fruit, 100, 'abc'; // apple100abcが出力される
丸括弧を使って書く場合は、下記のようになります。
結果は同じようになります。
echo($fruit), (100), ('abc'); // apple100abcが出力される
echo出力をブラウザで改行したい
ブラウザに結果を出力するときに改行したい場合には、単純にbr
タグを出力するようにしてあげましょう。
<?php
echo 'ここは<br>';
echo '改行されます。';
改行コード「”\n”」を使う場合には、nl2br関数が使えます。
改行コードの前にbr
タグを入れてくれます。
<?php
echo nl2br("ここは\n改行されます。");
シングルクォーテーション(「’」)で囲んだ場合は、改行コードが文字として扱われてしまうので、注意が必要です。
改行コードを使いたい場合は、ダブルクォーテーション(「”」)で囲むようにしましょう。
echo出力をターミナルで改行したい
ターミナル(コンソール)での出力は改行コードを入れておくことによって可能です。
単純に改行コード(\n
)を下記のように入れておきます。
echo "ここは\n改行されます。";
echo出力で変数を埋めたい
変数を埋めたい場合も、ダブルクォーテーションを使って出力します。
下記のようにすると、変数を文字列に埋めて出力できます。
<?php
$age = 32;
echo "私の年齢は{$age}です。\n";
結果は下記のようになります。
$ php echo.php
私の年齢は32です。
複数埋めることもできます。
<?php
$likeFood1 = "ラーメン";
$likeFood2 = "ピザ";
echo "私の好きな食べ物は{$likeFood1}と{$likeFood2}です。\n";
こちらの結果は下記のようになります。
$ php echo.php
私の好きな食べ物はラーメンとピザです。
PHPのechoとは?関数ではない?
PHPのechoは渡した変数などを出力してくれる言語構文です。
echoは関数だと思っていましたが、調べてみるとif
やwhile
などと同じように扱える言語構文だということでした。
なので、echo 変数名
と書いたりecho(変数名)
などと書いたりできます。
配列はArray文字列になる
下記のように配列を出力しようとします。
<?php
echo ["hoge"];
これを実行するとArray
という文字列が出力されます。
ちなみに下記のような警告も一緒に出てきます。
PHP Warning: Array to string conversion in "file/to/path" on line xxx
配列を出力して確認したい場合は、print_r関数やvar_dump関数を使うと良いです。
クラスのインスタンスは出力できない
クラスのインスタンスの出力もできません。
下記のようにTestクラスのインスタンスを作って出力しようとすると、エラーになります。
<?php
class Test{
public $name = "hoge";
}
$test = new Test();
echo $test;
エラーの内容は下記です。
PHP Fatal error: Uncaught Error: Object of class Test could not be converted to string in /file/to/path.php
この場合にもprint_r関数やvar_dump関数を使うと中身を出力してくれます。
コメント