• ベストアンサー

PHP開始タグの直後の等号の意味を教えてください

以下のページにあるPHP開始タグの直後の等号の意味を教えてください。 http://nyx.pu1.net/practice/form/form2.php 以下の行の「=」の箇所です。 <form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

<?= は <?php echo の短縮形です。 細かい話ですが、php5.4.0以降この短縮形( <?= )はshort_open_tag( <? を有効にするかどうか)の設定に依存しなくなりました。 http://www.php.net/manual/ja/ini.core.php#ini.short-open-tag 今後は「 <? は無効だが <?= は使える」という環境が増えてきますね。

mic_goto
質問者

お礼

ありがとうございます。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

ショートタグについてはすでに回答があるとおり phpの柔軟性の一つで簡潔に表記できる利点でもありますが、 正直このくらいならechoやらprintすればいいじゃん・・・ とも思える仕様ですね。 それより$_SERVER['PHP_SELF']は、いちぶセキュリティの問題もあり 最近ではあまりつかわれなくなっており、 $_SERVER['SCRIPT_NAME']を利用するケースが増えているようです。 詳細はググってみてください

mic_goto
質問者

お礼

ありがとうございます。 SCRIPT_NAMEについても、ありがとうございます。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

通常の開始タグは、<?php です。 <? はショートタグというもので、php.ini で設定すると使えるようになります。( short_open_tag = On ) その場合、<?= は、<?php echo と同じになります。 普通はショートタグは使いません。

mic_goto
質問者

お礼

ありがとうございます。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 変数を表示します。 (ehcoの省略みたいな感じ)

mic_goto
質問者

お礼

ありがとうございます。