関数・クラス解説

echo

version:PHP 4, PHP 5, PHP 7 (公式)

文字列を出力する

フォーマット

void : echo ( string $arg , string ...$args )

パラメータ

string $arg(必須)
出力したいパラメータ

string $args (第2引数以降は省略可)
出力したいパラメータ

返り値 void
値を返しません

解説

指定されたパラメータをすべて出力します。末尾に改行は付加されません。
echo は関数ではなく言語構造です。このため使用する際に括弧は必要とせず、返り値もありません。
echo には、以下のような短縮構文があります。PHP 5.4.0 以前は、設定オプションshort_open_tag が有効な場合に利用可能です。
短縮構文の例: $str の文字列の内容は <?= $str ?> です。

同様の機能を持つ print があります。 print と違い、echo はリスト形式の引数を受け付け、返り値を持ちません。

記述サンプル

//PHP 7.4.6で実行

//出力 ()は必要ない
echo "Hello World!!";

//結果
Hello World!!

/* ----------------------------- */

//int (計算結果)を指定
echo (1+2) * 5;

//結果
15

/* ----------------------------- */

//下記2つは同じ結果となる
echo '私は', 'ドジで', '強い', 'つもり', chr(10);
echo '私は'. 'ドジで'. '強い'. 'つもり'. "\n";

//結果
私はドジで強いつもり

/* ----------------------------- */

//エラーとなる(公式より)
($some_var) ? echo 'true' : echo 'false';
Parse error: syntax error, unexpected 'echo'

//print を用いると作動する(公式より)
($some_var) ? print 'true' : print 'false';

//以下のように変更すると作動する(公式より)
echo $some_var ? 'true': 'false';

参考リンク

flush システム出力バッファをフラッシュする

タグ

String echo 文字列 出力


公式リファレンス

書式

echo ( string $arg , string ...$args ) : void

説明

すべてのパラメータを出力します。末尾に改行を付加することはありません。

echo は実際には関数ではありません (言語構造です)。このため、使用する際に括弧は必要ありません。 (いくつかの他の言語構造と異なり) echo は関数のように動作しません。そのため、 関数のコンテキスト中では常に使用することができません。 加えて、複数のパラメータを指定して echo をコールしたい場合、括弧の中にパラメータを記述してはいけません。

echo には、開始タグの直後に等号を付ける短縮構文もあります。 この短縮構文は、PHP 5.4.0 より前のバージョンでは設定オプションshort_open_tag が有効な場合しか使えません。

I have <?=$foo?> foo.

print との主な違いは、 echo がリスト形式の引数を受け付け、返り値を持たないことです。

パラメータ

arg
出力したいパラメータ。
args

返値

値を返しません。

注意

注意: これは、関数ではなく言語構造のため、可変関数 を用いてコールすることはできません。
ヒント 複数の文字列をひとつに連結せずそのまま echo に渡す利点は、PHP におけるピリオド演算子の優先順位にあります。 複数の引数として渡す場合は、優先順位を考慮して括弧で囲んだりする必要はありません。 <?phpecho "Sum: ", 1 + 2;echo "Hello ", isset($name) ? $name : "John Doe", "!"; 連結を使う場合は、ピリオド演算子の優先順位が加算演算子とは同じで、 三項演算子よりも高いことに注意する必要があります。 そのため、以下のような場合に期待どおりの動きをさせるためには括弧が必要になります。 <?phpecho 'Sum: ' . (1 + 2);echo 'Hello ' . (isset($name) ? $name : 'John Doe') . '!';

サンプル

例1 echo の例

echo "Hello World"; // 複数の文字列をそれぞれ別の引数として渡しても、 // すべて連結してひとつの引数として渡してもかまいません echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10); echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n"; // echo は関数のように動作しないので、以下のコードは正しくありません ($some_var) ? echo 'true' : echo 'false'; // しかし、次の例は動作します ($some_var) ? print 'true' : print 'false'; // print も言語構造ですが、                                             // 関数のように動作します。なので、                                             // このコンテキスト中で使用できます echo $some_var ? 'true': 'false'; // 命令を変更

参考

  • print - 文字列を出力する
  • printf() - フォーマット済みの文字列を出力する
  • flush() - システム出力バッファをフラッシュする
  • ヒアドキュメント構文
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール