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
で引数を区切るのに使われる記号は何か答えよ
- ,
- .
- /
Q2: echo
を表すものとして適当なものを答えよ
- 関数
- キーワード(言語構造)
- 配列
Q3: echo
とprint
の違いを答えよ
- printは改行を出力する
- printは関数のように振る舞う
- printはechoと比べてタイプ数が多い
正解
Q1: 1
Q2: 2
Q3: 2, 3