概要
出力
echo文
print文
改行
echo文およびprint文は、自動改行されない。
改行を入れる場合は、以下に示すいずれかの方法を使用する必要がある。
// 改行文字を明示的に指定
echo "Hello\n";
print "World\n";
// HTMLの改行タグを使用
echo "Hello<br>";
print "World<br>";
// PHP_EOLの使用 (推奨)
echo "Hello" . PHP_EOL;
print "World" . PHP_EOL;
変数の展開
変数の内容を展開して表示する場合、echo文とprint文にはいくつかの違いがある。
// 基本的な変数展開 (どちらも同じように動作)
$name = "田中";
echo "こんにちは、$nameさん"; // こんにちは、田中さん
print "こんにちは、$nameさん"; // こんにちは、田中さん
// 複数の変数を表示する場合
$first = "田中";
$last = "太郎";
// echo文は、カンマで区切って複数の引数を渡すことが可能
echo $first, " ", $last; // 田中 太郎
// print文は1つの引数しか受け付けないため連結が必要
print $first . " " . $last; // 田中 太郎
// 配列やオブジェクトのプロパティを展開する場合
$person = ["name" => "田中"];
// 波括弧を使用した複雑な展開(どちらも同じ)
echo "こんにちは、{$person['name']}さん";
print "こんにちは、{$person['name']}さん";
echo文とprint文の違い
print文の特徴
- print文は、値を1つしか出力できない。
- print文は、常に1を返す値を持つ。
- print文は値を返すため、わずかにechoより遅い。
ただし、通常の使用では実用的な差はほとんどない。
echo文の特徴
- echo文は、複数の値をカンマ区切りで出力できる。
- echo文は値を返さない。
- echo文は複数の引数を受け付けられるため、変数を多数表示する必要がある場合はecho文の方が記述しやすく、可読性も高くなる。