PHPのechoの使い方!(検証コード7パターン)

PHP

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は関数だと思っていましたが、調べてみるとifwhileなどと同じように扱える言語構文だということでした。
なので、echo 変数名と書いたりecho(変数名)などと書いたりできます。

詳細は公式の下記ドキュメントに書いています。
PHP: echo - Manual

配列は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関数を使うと中身を出力してくれます。

コメント

タイトルとURLをコピーしました