MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
PHPの基礎 - 入出力のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
PHPの基礎 - 入出力
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == <br><br> == 出力 == ==== echo文 ==== <br> ==== print文 ==== <br> ==== 改行 ==== echo文およびprint文は、自動改行されない。<br> 改行を入れる場合は、以下に示すいずれかの方法を使用する必要がある。<br> <br> <syntaxhighlight lang="php"> // 改行文字を明示的に指定 echo "Hello\n"; print "World\n"; </syntaxhighlight> <br> <syntaxhighlight lang="php"> // HTMLの改行タグを使用 echo "Hello<br>"; print "World<br>"; </syntaxhighlight> <br> <syntaxhighlight lang="php"> // PHP_EOLの使用 (推奨) echo "Hello" . PHP_EOL; print "World" . PHP_EOL; </syntaxhighlight> <br> PHP_EOLは、ログファイル・テキストファイルへの出力、データベースへの保存での使用で推奨される。<br> <u>ただし、WebページとしてHTMLへ出力、メールテンプレート (HTML形式) へ出力する場合は、<nowiki><br></nowiki>を使用すべきである。</u><br> <br> * プラットフォーム独立性 *: PHP_EOLは、実行環境に応じて適切な改行コードを自動的に使用する。 *: Windows : \r\n *: UNIX/Linux : \n *: <br> * 移植性の向上 *: 異なるOS間でのファイル処理が容易になる。 <br> 基本的に、最終的な出力形式に合わせて使い分ける。<br> もし混在させる必要がある場合は、<code>nl2br</code>関数を使用してPHP_EOLを<nowiki><br></nowiki>に変換することもできる。<br> <syntaxhighlight lang="php"> $text = "1行目" . PHP_EOL . "2行目"; echo nl2br($text); </syntaxhighlight> <br> ==== 変数の展開 ==== 変数の内容を展開して表示する場合、echo文とprint文にはいくつかの違いがある。<br> <br> <syntaxhighlight lang="php"> // 基本的な変数展開 (どちらも同じように動作) $name = "田中"; echo "こんにちは、$nameさん"; // こんにちは、田中さん print "こんにちは、$nameさん"; // こんにちは、田中さん </syntaxhighlight> <br> <syntaxhighlight lang="php"> // 複数の変数を表示する場合 $first = "田中"; $last = "太郎"; // echo文は、カンマで区切って複数の引数を渡すことが可能 echo $first, " ", $last; // 田中 太郎 // print文は1つの引数しか受け付けないため連結が必要 print $first . " " . $last; // 田中 太郎 </syntaxhighlight> <br> <syntaxhighlight lang="php"> // 配列やオブジェクトのプロパティを展開する場合 $person = ["name" => "田中"]; // 波括弧を使用した複雑な展開(どちらも同じ) echo "こんにちは、{$person['name']}さん"; print "こんにちは、{$person['name']}さん"; </syntaxhighlight> <br> ==== echo文とprint文の違い ==== ===== print文の特徴 ===== * print文は、値を1つしか出力できない。 * print文は、常に1を返す値を持つ。 * print文は値を返すため、わずかにechoより遅い。<br>ただし、通常の使用では実用的な差はほとんどない。 <br> ===== echo文の特徴 ===== * echo文は、複数の値をカンマ区切りで出力できる。 * echo文は値を返さない。 * echo文は複数の引数を受け付けられるため、変数を多数表示する必要がある場合はecho文の方が記述しやすく、可読性も高くなる。 <br> ==== ヒアドキュメント ==== ヒアドキュメントを活用することにより、長い文字列やテンプレートを見やすく管理することができる。<br> <br> ヒアドキュメントの特徴を以下に示す。<br> * 開始識別子 (EOT等) の後には改行以外の文字を入れてはならない。 * 終了識別子は行頭になければならない。<br><u>ただし、PHP 7.3以降は可能</u> * 識別子は任意の文字列を使用可能。(EOT, EOD, HTML等) * <u><<<'EOT'</u> のように引用符で囲むとNowdocとなり、変数展開されない。 * PHP 7.3以降では終了識別子のインデントが可能。 * 文字列結合や関数の引数としても使用可能である。 <br> ヒアドキュメントが使用されるユースケースを以下に示す。<br> * HTMLテンプレート * SQLクエリ * メールテンプレート * JSONデータ * 設定ファイル <br> # ヒアドキュメントの構文 <<<(ID) <複数行にまたがる文字列> (ID); <br> <syntaxhighlight lang="php"> <?php // 基本的な使用方法 1 echo <<<DATA <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>ヒアドキュメントの基礎</title> </head> <body> <header></header> <main> <h1>PHPをHTMLの中に埋め込む</h1> <p>ヒアドキュメントで出力したHTMLファイル</p> </main> <footer></footer> </body> </html> DATA; ?> <?php // 基本的な使用方法 2 $name = "太郎"; $text = <<<EOT こんにちは、{$name}さん。 これはヒアドキュメントのサンプルである。 複数行の文字列を簡単に記述することができる。 EOT; ?> <?php // Nowdocの例(変数展開されない) $text2 = <<<'EOD' こんにちは、{$name}さん。 この中では変数は展開されない。 そのまま {$name} と表示される。 EOD; ?> <?php // インデントを保持する例 (PHP 7.3以降) $html = <<<HTML <div class="container"> <h1>タイトル</h1> <p>これは段落である。</p> </div> HTML; ?> <?php // 関数の引数として直接使用 // json_encodeは関数である echo json_encode([ 'description' => <<<JSON これは JSON形式の 長い説明文である。 JSON, 'title' => 'サンプル' ]); ?> <?php // メソッドチェーンでの使用 (PHP 7.3以降) $message = (new EmailMessage()) ->setBody(<<<EMAIL お問い合わせありがとうございます。 以下の内容で承りました。 件名: {$subject} EMAIL) ->setSubject('自動返信メール'); ?> </syntaxhighlight> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:Web]]
PHPの基礎 - 入出力
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse