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