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

31, 2020-08-30

目次

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



この記事のアンケートを送信する