質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1651閲覧

php の書き方

YuichiKataoka

総合スコア216

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/01/20 14:13

以下の様なコードがあります。

php

1<?php 2if ($page > 1) { 3?> 4<li><a href="index.php?page=<?php print($page - 1); ?>">前のページへ</a></li> 5<?php 6} else { 7?> 8<li>前のページへ</li> 9<?php 10} 11?> 12<?php 13if ($page < $maxPage) { 14?> 15<li><a href="index.php?page=<?php print($page + 1); ?>">次のページへ</a></li> 16<?php 17} else { 18?> 19<li>次のページへ</li> 20<?php 21} 22?>

これは以下のサンプルからのものなのですが、この記述方法について疑問に思ったことがあります。
サンプル:https://book.mynavi.jp/support/pc/5064/

phpではif構文は以下の様な記述方法だと思うのですが

php

1<?php 2if (条件) { 3条件がtrueの場合の処理; 4} 5?>

上の記述方法だと、波括弧{ の後に ?> とphpを閉じてhtmlを書いています。
これは何故ですか。以下の様に記述と何が違うのでしょうか?

php

1<?php 2if ($page > 1) { 3echo '<li><a href="index.php?page=<?php print($page - 1); ?>">前のページへ</a></li>'; 4} else { 5echo '<li>前のページへ</li>'; 6} 7?> 8<?php 9if ($page < $maxPage) { 10echo '<li><a href="index.php?page=<?php print($page + 1); ?>">次のページへ</a></li>'; 11} else { 12echo '<li>次のページへ</li>'; 13} 14?>

while文でも見かけるのですが、何故波括弧だけ <?php ?> のタグで囲むのか理解出来ません。
気になって仕方ないので、ご存じの方教えて下さい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

<?php ?>で囲うと、

静的な部分(純粋なHTMLでPHPによる変更が無い部分)を明示的に静的に記述できるため、

  • 記述が分かりやすくなる
  • HTML内でPHPとして意味のある文字列(例えば今回のケースだとシングルクォート)について原理的にPHPと干渉し無い状態で使用することが出来る

等のメリットがあります。
ただ、どちらの方法が良い/悪いという問題では無いので、設計する人がどうしたいかを選択すれば問題無いです。

投稿2016/01/20 14:32

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YuichiKataoka

2016/01/20 14:47

回答ありがとうございます。回答内容は求めていた答えがどちら様もあったので、すぐに回答を頂けたのでベストアンサーとさせて頂きました。 良く理解出来ました。
guest

0

どちらも結果は変わりません。一般的にはデザイナーが見やすく、HTMLを編集しやすいように前者のような書き方をすることがあります。
(前者だとデザイナーがechoやprintなどのプログラムを意識しなくてもHTMLを編集できる)

基本的には会社やプロジェクトのコーディング規約に従って書いてください。

投稿2016/01/20 14:42

happyhappy

総合スコア346

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問