echo

(PHP 3, PHP 4, PHP 5)

echo -- 1つ以上の文字列を出力する

説明

void echo ( string arg1 [, string ...] )

この関数は、すべてのパラメータを出力します。

echo() は実際には関数ではありません (言語構造です) 。このため、使用する際に括弧は必要ありません。 (いくつかの他の言語構造と異なり) echo() は関数のように動作しません。そのため、 常に関数のコンテキスト中で使用することはできません。 加えて、複数のパラメータを指定して echo() をコールしたい場合、括弧の中にパラメータを記述するべきではありません。

例 1. echo() の例

<?php
echo "Hello World";

echo
"This spans
multiple lines. The newlines will be
output as well"
;

echo
"This spans\nmultiple lines. The newlines will be\noutput as well.";

echo
"escaping characters is done \"Like this\"."

// echo 命令の中で変数を使用することが可能です
$foo = "foobar";
$bar = "barbaz";

echo
"foo is $foo"; // foo is foobar

// 配列を使用することもできます
$bar = array("value" => "foo");

echo
"this is {$bar['value']} !"; // this is foo !

// 値ではなく変数名を出力するシングルクオートを使用する。
echo 'foo is $foo'; // foo is $foo

// 他の文字を全く使用しない場合、echo 変数を使用可能です。
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// 複数のパラメータを結合してechoに渡そうとする人もいます
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);
echo
'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";

echo <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!
END;

// echo は関数のように動作しないので、以下のコードは正しくありません
($some_var) ? echo 'true' : echo 'false';

// しかし、次の例は動作します。
($some_var) ? print 'true' : print 'false'; // print も言語構造ですが、
                                            // 関数のように動作します。なので、
                                            // このコンテキスト中で使用できます
echo $some_var ? 'true': 'false'; // 命令を変更
?>

echo() には、開始タグの直後に等号を付ける 短縮構文もあります。この短縮構文は、設定オプションshort_open_tagが有効な 場合のみ使用可能です。

I have <?=$foo?> foo.

print()echo()の違いに関する 簡単な議論については、FAQTs Knowledge Base Article: http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 を参照してください。

注意: これは、関数ではなく 言語構造のため、可変関数 を用いて コールすることはできません。

print(), printf(), flush() も参照ください。