公式ドキュメント以下がechoの公式ドキュメントです。PHPecho-Manualechoの構造echoは↓のような構造を持っています。echo引数1,引数2,...引数n;echoは関数ではありません。PHPが持つキーワードの1つです。よってカッコをつけて呼び出す必要はありません。echoには可変長の引数を..." /> PHPのechoの使い方: データを出力する

ユーニックス総合研究所

  • home
  • archives
  • php-echo

PHPのechoの使い方: データを出力する

  • 作成日: 2020-08-29
  • 更新日: 2023-12-24
  • カテゴリ: PHP

PHPのecho

PHPには文字列を出力するキーワードにechoがあります。
よく使うのでこの記事でまとめました。

echoは例えば↓のように使います。

<?php  

echo 1, 2, "\n";  
echo "cat" . "/" . "dog" . "\n";  

?>  

公式ドキュメント

以下がechoの公式ドキュメントです。

echoの構造

echoは↓のような構造を持っています。

echo 引数1, 引数2, ... 引数n;  

echoは関数ではありません。
PHPが持つキーワードの1つです。
よってカッコをつけて呼び出す必要はありません。

echoには可変長の引数を渡すことが出来ます。
引数はカンマ(,)で区切ると、それぞれの引数が連結されて出力されます。

echoのショートタグ

echoを使った↓のようなコードは、

<?php echo 1, 2, "\n"; ?>  

↓のようなショートタグに置き換えることが可能です。

<?= 1, 2, "\n"; ?>  

このショートタグはPHP 5.4.0以前では設定オプションのshort_open_tagが有効な場合にしか使うことが出来ません。

echoの返り値

echoは返り値を返しません。

echoと複数の引数

カンマ(,)で複数の引数を区切ることが出来ます。

<?php  
    echo "Hello", "+", "World!", "\n";  
?>  

出力結果。

Hello+World!  

カンマで区切った引数はパディングもなく単純に連結されます。

echoと文字列の連結

文字列の連結にはドット(.)が使えますが、これはechoとよく組み合わせて使われることが多いです。

<?php  
    echo "This" . " is " . "One" . " Argument\n";  
?>  

出力結果。

This is One Argument  

echoと3項演算子

echoは関数ではないため、3項演算子で使うことは出来ません。

<?php  

true ? echo "abc" : echo "def";  

?>  

出力結果。

PHP Parse error:  syntax error, unexpected 'echo' (T_ECHO) in sample.php on line 3  

echoに似ているキーワードにprintがありますが、これは関数のように振る舞うので3項演算子でも使えます。

<?php  

true ? print "abc\n" : print "def\n";  

?>  

出力結果。

abc  

echoの使用例

echoの使用例です。

変数を出力するecho

ダブルクオート内の変数は文字列として展開されます。
これはechoとあわせてよく使われます。

<?php  

$n = 100;  

echo "Number is $n\n";  

?>  

出力結果。

Number is 100  

連想配列を出力するecho

連想配列のキーと値を出力するechoです。

<?php  

$arr = [  
    "cat" => "nyan",  
    "dog" => "wan",  
];  

foreach ($arr as $k => $v) {  
    echo "$k => $v\n";  
}  

?>  
cat => nyan  
dog => wan  

PHP_EOLとecho

改行の出力にPHP_EOLを使うechoです。

<?php  

echo "Hi, ", "My name ", "is Ken.", PHP_EOL;  

?>  

出力結果。

Hi, My name is Ken.  

問題

Q1: echoで引数を区切るのに使われる記号は何か答えよ

  1. ,
  2. .
  3. /

Q2: echoを表すものとして適当なものを答えよ

  1. 関数
  2. キーワード(言語構造)
  3. 配列

Q3: echoprintの違いを答えよ

  1. printは改行を出力する
  2. printは関数のように振る舞う
  3. printはechoと比べてタイプ数が多い

正解

Q1: 1
Q2: 2
Q3: 2, 3