html内にelseおよびelseif条件を埋め込む正しい方法は何ですか?HTML内に他の埋め込みがある場合
答えて
読みやすくするために、次の構文を使用することをお勧めします。オープンタグにphp
を省略
<? if ($condition): ?>
<p>Content</p>
<? elseif ($other_condition): ?>
<p>Other Content</p>
<? else: ?>
<p>Default Content</p>
<? endif; ?>
注意は、short_open_tags
は、コンフィギュレーション、which is the defaultで有効になっていることを必要とします。関連する中括弧のない条件構文は常に有効で、この指令に関係なく使用できます。
この例では、ステートメントに「PHP」がありません。 –
@AdamYoungersこれはshort_open_tagsと呼ばれていますが、あなたはそれに精通していないかもしれませんが、完全に有効です。 – coreyward
私はそれらに精通していませんでした。私は上記を使用してみて、それは私のページを壊した。クイック検索と私はあなたのphp.iniファイルでこれを有効にする必要があります参照してください... http://stackoverflow.com/questions/2185320/how-to-enable-php-short-tags –
<?php if ($foo) { ?>
<div class="mydiv">Condition is true</div>
<?php } else { ?>
<div class="myotherdiv">Condition is false</div>
<?php } ?>
人々が使用する複数の方法があり、それぞれに独自の場所があります。
<?php if($first_condition): ?>
/*$first_condition is true*/
<?php elseif ($second_condition): ?>
/*$first_condition is false and $second_condition is true*/
<?php else: ?>
/*$first_condition and $second_condition are false*/
<?php endif; ?>
あなたのphp.iniの属性short_open_tag = true
(これは通常、デフォルトのphp.iniファイルのline 141
で発見された)で、あなたは<?php
から<?
にあなたのPHPのオープンタグを置き換えることができます。 ほとんどのライブサーバー環境ではこれがオフになっています(Drupal、WordPress、Joomlaなどの多くのCMSを含む)。私はすでにDrupalでオープンハンドのタグをテストし、あなたのサイトを破壊することを確認しましたので、<?php
に固執してください。 short_open_tag
は、すべてのサーバー構成ではデフォルトではオンになっていないため、未知のサーバー構成用に開発する場合はそのように仮定してはなりません。多くのホスティング会社はオフになっていますshort_open_tag
。
stackExchangeでのshort_open_tag
のクイック検索は、830件の結果を示しています。 https://stackoverflow.com/search?q=short_open_tag これは、あまり遊ばないと何か問題を抱えている人が多いです。
いくつかのサーバー環境とアプリケーションでは、short_open_tag
がtrue
に設定されていても、短い手続きのPHP公開タグでもコードがクラッシュします。
short_open_tag
は、PHP6では削除されるので、ショートハンドタグは使用しないでください。
将来のすべてのPHPのバージョンは、短いカット "それはあなたが短い タグを使用しないで数年間のために推奨されています" short_open_tag
- http://www.askapache.com/php/shorthand-short_open_tag.html
- https://softwareengineering.stackexchange.com/questions/151661/is-it-bad-practice-to-use-tag-in-php
をドロップします代わりに完全なタグ の組み合わせを使用することができます。 XMLと 他の言語でこれらのタグを使用すると、サーバーは簡単に混乱し、間違ったコンテキストで間違ったコードを解析する になります。しかし、この短い カットはこのような長い間の機能でしたので、下位互換性のために現在は がサポートされていますが、 は使用しないことをお勧めします。「9:00 - php: "short_open_tag = On" not working
と
でJelmer 9月25日'12は、通常、あなたがそうのようにPHPを記述します。 allow_short_tagsディレクティブを使用することができるしている有効になっているが場合:また、並べ替えのタグは余分な構文を提供します: は
と同じですが、短いタグはクールに見えるかもしれませんが、そうではありません。 PHP6から削除されました。 「ショートタグがあったが、ために: Crozinは、私はZendのPHP 5の認定ガイドを引用したい、なぜ一部に答えるために午後10時12分 php short_open_tag problem
と
で8月24日'10に答えしかし、 は、XMLヘッダーと競合する大きな欠点を持っているため、 は、やや道端に陥っています。 - ふわふわ4月13日'11 14時40 Are PHP short tags acceptable to use?
あなたは、人々は、次の例を使用しても見ることができるで:これは動作します
<?php if($first_condition){ ?>
/*$first_condition is true*/
<?php }else if ($second_condition){ ?>
/*$first_condition is false and $second_condition is true*/
<?php }else{ ?>
/*$first_condition and $second_condition are false*/
<?php } ?>
が、それは次のように考えられていないとして、それは非常に眉をひそめていますあなたはこの形式を使うべきではありません。埋め込まれたタグを内部に持たないPHPコードブロックがあったPHPファイルがあった場合は、ブラケット形式を使用します。
次の例ブラケット方式
<?php
if($first_condition){
/*$first_condition is true*/
}else if ($second_condition){
/*$first_condition is false and $second_condition is true*/
}else{
/*$first_condition and $second_condition are false*/
}
?>
を使用するときに、自分のためにこのコードをやっている場合は、あなたが好きなものを行うことができます示していますが、あなたはそれが助言される仕事で、チームで作業している場合適切な状況のために正しい形式を使用してください。埋め込まれたhtml/phpスクリプトで大括弧を使用すると、誰もあなたのコードを整理したくないので、解雇するのに適しています。 ITの上司はコードの読みやすさと大学の教授の見分けやすさを気にします。速記は落胆(PHPの標準によって)されているかどうか、そのまだ不明duskwuffからのコメントに基づいて
UPDATE
。私はこの答えを更新して、より多くの情報を得るでしょう。しかし、移植性には悪いという簡略表記については、Web上で見つかった多くの文書に基づいています。私はまだ個人的にはそれを利用しないので利点はないし、あなたが設定されているすべてのWebホストではないオンに依存する必要があります。
"PHP6で"? PHP 6は存在せず、決してありません。次のメジャーバージョンはPHP 7であり、short_open_tagsのステータスを変更する予定はありません。 – duskwuff
@duskwuff PHP7にジャンプしてPHP6をスキップすることが正しいかもしれません。 PHP5では落胆しているようなshort_open_tagsを検討しており、廃止予定です。 –
あなたは「落胆している」、「廃止される」という考えをどこから得ていますか?ドキュメンテーションには、これを示唆するものは全くありません。 http://php.net/manual/en/ini.core.php#ini.short-open-tag – duskwuff
編集:私は@パトリックの答えに書き留めたいと思っていますが、明らかにStackOverflowは私の評判が十分ではないと思います。私はこれが重要なメモであると感じています。ここに上陸している人々が学ぶためにそうしているからです。これが質問に答えることができないために削除された場合は、そのままにしてください。パトリックが彼の答えを訂正するかもしれないなら、これを削除することは害ではない。
これは古い質問/回答ですが、Bing検索では高いランク付けをしていますので、ここでPHP混乱した魂にこのコメントを追加するよう強く勧められます。@Patrickマクマホンの応答で
、ここでは第二のコメント($ first_conditionが偽で、$ second_conditionが真で)完全に正確ではありません。
<?php if($first_condition): ?>
/*$first_condition is true*/
<?php elseif ($second_condition): ?>
/*$first_condition is false and $second_condition is true*/
<?php else: ?>
/*$first_condition and $second_condition are false*/
<?php endif; ?>
ELSEIF火事か$ first_condition真または偽である場合は、elseifステートメントが複数存在する場合は、それを追加します。
私はPHPの専門家でないので、私はそれがこのか、そのELSEそのまたはそこPHPでそれをコーディングする別の/より良い方法があるが、これは希望の場合のIF を言うために正しい方法だかどうかわかりませんELSE条件と比較してOR条件を探している人とは重要な違いです。
ソースはw3schools.comで、自分の経験です。
本当ですか? else if(echo 'whaddup';} exit; '出力:"ここで "PHP 5.5では、次のようにテストしました: – Philipp
<?php if (date("H") < "12" && date("H")>"6") { ?>
src="<?php bloginfo('template_url'); ?>/images/img/morning.gif"
<?php } elseif (date("H") > "12" && date("H")<"17") { ?>
src="<?php bloginfo('template_url'); ?>/images/img/noon.gif"
<?php } elseif (date("H") > "17" && date("H")<"21") { ?>
src="<?php bloginfo('template_url'); ?>/images/img/evening.gif"
<?php } elseif (date("H") > "21" && date("H")<"24") { ?>
src="<?php bloginfo('template_url'); ?>/images/img/night.gif"
<?php }else { ?>
src="<?php bloginfo('template_url'); ?>/images/img/mid_night.gif"
<?php } ?>
- 1. コンテナ内にフローティング要素がある場合の埋め込みの問題
- 2. 埋め込みHTML内のリンク
- 3. 埋め込みhtmlタグは内部タグ
- 4. HTMLにJava埋め込み
- 5. Instagram埋め込みキャプションにHTMLを埋め込みます
- 6. アドレスに埋め込み改行がある場合のPaypal IPNエラー
- 7. OrientDB内の他のプロパティと組み合わせたクエリ埋め込みリスト
- 8. html埋め込みswfサウンド
- 9. 埋め込みphpとhtml
- 10. HTMLで埋め込みPDF
- 11. jQuery .html Facebook埋め込み
- 12. 値がtrueの場合、Androidデータバインディングセットの埋め込み
- 13. 埋め込みブートストラップレイアウトの埋め込み
- 14. 埋め込みブロックがループ内で動作していない場合
- 15. 埋め込みJavaScript - ページをHTMLにレンダリング
- 16. Android自動更新EditTextが他に埋め込まれている場合
- 17. pdf埋め込み/埋め込み
- 18. 他のHTMLページにHTMLファイルを埋め込む
- 19. HTML DIV埋め込みが正しくありません
- 20. JSONへのHTMLの埋め込み
- 21. HTMLへのPDFのインポート/埋め込み
- 22. IFRAMEの埋め込みGoogleドキュメントが読み込まれない場合があります
- 23. HTML内に{{link-to}}を埋め込みます<button>タグ
- 24. JavaScript/jQuery用のHTML埋め込みコードハイライター
- 25. 埋め込みHTMLテーブルのキャプチャ
- 26. HTMLドリームウィーバーの埋め込みツイート
- 27. HTMLとPHPの埋め込み
- 28. ExtJSの - 埋め込み用HTMLページ内のタブ
- 29. 埋め込みCSSファイルが埋め込まれていないhtml
- 30. テンソルフロー内の複数の埋め込みからのルックアップの埋め込み
本当に反対ではありませんか? –