【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を使う方が主流のようです。


イベント

2017/10/06(金)
UX School(全10回)