PHPのechoの使い方: データを出力する
目次
- PHPのecho
- 公式ドキュメント
- echoの構造
- echoのショートタグ
- echoの返り値
- echoと複数の引数
- echoと文字列の連結
- echoと3項演算子
- echoの使用例
- PHP_EOLとecho
- 問題
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
で引数を区切るのに使われる記号は何か答えよ
,
.
/
Q2: echo
を表すものとして適当なものを答えよ
関数
キーワード(言語構造)
配列
Q3: echo
とprint
の違いを答えよ
printは改行を出力する
printは関数のように振る舞う
printはechoと比べてタイプ数が多い
正解
Q1: 1
Q2: 2
Q3: 2, 3