【php】画面に出力するecho/printの使い方解説

phpのechoとprintの使い分け解説php
書いてる人
あいりゅー

プログラミングを学びながら更新しています。
iPhone/iPad/Mac/Apple WatchなどのApple製品はこちらで主に更新しています。
麻雀の反省をひたすら掲載してるブログもやってます。

あいりゅーをフォローする

このページについて

このページではphpで文字列を出力するechoとprintの使い方と、その違いなどの解説をしています。

echo

echoはphpの基本的なものになります。これは関数ではなく言語構造と書かれています。printとの違いは「リスト形式の引数を受付、戻り値をもたない事」と書かれています。戻り値とは関数などの処理が行われた場合に返ってくる値の事です。echoには戻り値が無いという事で、処理が正常に終わる終わらないに関わらず、出力以外のことは何もありません。

printとの違いでも少し触れましたが、リスト形式の引数を受け付ける事ができます。リスト形式とはコンマで区切られた文字列の事を意味します。そのため以下のように書いた場合、全ての文字列が出力されます。

echo 1,2,3;

このように書くとコンマが省略され、123と出力されます。

print

printもphpの基本的なものになり、関数ではなく言語構造です。echoとの違いは「単一の引数のみ受付、常に1を返すこと」です。echoは1行で複数の引数を渡しても全て出力してくれましたが、printは常に1つしか受ける事ができません。そして複数出力させようとするとエラーになります。

print 1,2;

これはエラーとなります。なのでprintを使う場合は必ず単一になるようにしましょう。

どちらにも共通する使い方

どちらにも共通する使い方などを解説していきます。

文字列の出力

これは変数に代入する時もそうですが、文字列を出力する場合は’や”で囲います。

echo 'Hello';
print "World";

のようにそれぞれ囲います。どちらを使うかは自由ではありますが、htmlタグなどを使う場合のことを考えると’で囲む方がいいかなって気はしています。

数値の出力

数値を出力したい場合、囲む必要はありません。

echo 1;print 2;

これでOKです。

括弧は不要

echoもprintも関数ではなく言語構造なので、括弧は不要です。関数の場合count()やfunction()のように()を使いますがこれらは言語構造なのでそもそも()が不要です。

返り値

echoは返り値が常に無く、printは常に1が返ってきます。それを利用したのが以下です。

switch (print 'hello') {
case 0:
echo 0;
break;
case 1:
echo 1;
break;
default:
break;

これはswitch文を利用した返し値の有無を確認するための簡単なコードになります。switch文の比較要素としてprintを使います。そしてcaseで0と1を用意して、返し値がどっちなのかを調べるというものです。結果は1が出力されます。つまりprintの返し値が1であるということになります。

printの返し値確認

ちなみにechoは式の中に組み込む事ができないので、同じように試そうとするとエラーになります。

まとめ

echoとprintはphpで何かを出力する時にかなり使います。しかしそれぞれ扱えるものが違ったり、返す値の有無などの違いもあります。適した方を使いましょう。

phpの基礎
phpとは?JavaScriptとの違いは?みたいなことから、基本の書き方などを解説。
echoとprint
画面に文字を出力する2種類の言語構造の使い方
変数
phpで使える変数の扱い方などを解説しています。
変数のスコープ(有効範囲)
変数のスコープについての解説です。
var_dump
変数の情報を見ることができる関数
print_r
変数の情報をわかりやすい形式で表示する関数
配列と連想配列
配列と連想配列の書き方と、便利な関数の解説など。
key
連想配列のキーを返してくれます。内部ポインタ関係あり。
count
配列や連想配列の要素数を数えてくれる関数の使い方解説。
ソート関数
配列に対してソートを行う関数の中から、代表的な5つの使い方解説です。
array_reverse
配列の中身の順番を反転させる関数です。
array_chunk
配列を指定した数で分割させるarray_chunk関数の使い方解説です。
array_combine
2つの配列を足して1つの連想配列にする関数です。
array_diff
2つの配列を比較して、存在しない値を出力する関数
array_push
配列に対して後方に要素を追加する関数
array_unshift
配列に対して先頭に要素を追加する関数。
array_shift
配列の先頭の要素を取り出す関数。
array_merge
複数の配列を統合して1次元の配列にする関数
array_intersect
2つの配列を比較して、両方に共通するものを出力する関数
include
includeを使って別のphpファイルを読み込む方法の解説。
if文
if文を使って処理を変更させる方法の解説。
switch文
switch文を使って複数の処理分岐を行わせたい時に使います。
forループ
forループを使って同じ処理を行わせる方法の解説です。
whileループ
whileループを使って同じ処理を行わせる方法の解説と注意点。
do-whileループ
do-whileループを使って同じ処理を行わせる方法の解説です。
foreachループ
foreachループを使って配列内のアイテム全てに処理を行う方法の解説です。
continue
ループ処理の残りをスキップしつつ、ループの先頭に戻る制御構造
ループのネスト構造(入れ子)
ループの中にループを入れる書き方や考え方の解説。
function
functionを使って自作の関数を作成・使用する方法の解説。
引数の種類と書き方解説
functionで扱う引数の種類と書き方を解説
return
returnの使い方と関数での使い方解説。
class
classを作成して変数と関数を1つにまとめる方法と使い方の解説。
constructとdestruct
classのインスタンス作成と同時に処理を行うconstructと、スクリプトの終了と同時に実行するdestructの解説です。
インターフェイス
インターフェイスという用語の解説と、実際の使い方解説
トレイト
コードを再利用するのに便利なトレイトの解説です。
列挙型
プログラム中で使う変数名をあらかじめ定義しておく。そんな感じの型。
PDOを使ってMySQLへ接続
PDOを使ってMySQLへ接続し、データを取得する方法の解説です。
データの加工と表示
PDOでデータベースから取得したデータを加工して表示する方法の解説です。
HTMLフォームのデータ受け取りと表示
HTMLで作ったフォームからのデータの受け取り方法と、その表示方法の解説です。
タイトルとURLをコピーしました