【echo】PHPで文字列を出力する方法
PHPでechoを使って文字列を出力する方法を紹介します。
echoを使用して文字列を出力する
PHPで文字列を出力するときにはechoを使用します。
文字列はシングルクォテーション( ’ )やダブルクォテーション( ” )で囲みますが、どちらを使用するかで出力される内容が異なります。シングルクォテーションで変数を囲むと、変数名が出力されてしまうため、変数の中の値を出力したい場合は、ダブルクォテーションを使用します。
echoの書式は以下のとおりです。
echo "変数" [ , "変数" ]; // 値が出力(ダブルクォテーション) echo '変数' [ , '変数' ]; // 変数名が出力(シングルクォテーション)
カンマ( , )以降は省略できます。
具体的な例を次に示します。(「”\n”」は改行コードです。)
<?php $str = "Hello World"; echo "$str\n"; echo '$str\n'; ?>
上のプログラムの実行結果は以下のようになります。
Hello World $str
ダブルクォテーション( ” )で囲んだ場合は変数の中身が出力されているのに対して、シングルクォテーション( ’ )で囲んだ場合は変数名が出力されているのがわかります。
次にカンマを使ってechoに文字列を複数個指定した例を紹介します。
<?php $str = "Hello World"; echo "$str", "!", "?", "\n"; ?>
上の実行結果は以下のようになり、カンマで区切った以降のものが連結されて表示されます。
Hello World!?
1行で条件によって出力を変更する方法
条件によって出力を変更したい場合、三項演算子を使うことによって簡潔に書くことができます。
echo $flag ? "Hello" : "World";
echoとprintの違い
PHPにはechoの他に文字列を出力する関数としてprintがあります。
echoとprintには以下のような違いがあります。
- echoはカンマ区切りで複数の変数を渡すことができますが、printではできません。
- echoは返り値をもちませんが、printは常に返り値「1」を返します。
- printよりechoの方が処理速度が若干早いです。
基本的にはどちらを利用しても問題ありませんが、echoを使う方が主流のようです。