• ベストアンサー

PHP に詳しい方教えてください

PHPを勉強していて、以下のサンプルに出会ったのですが、これについて 2 点教えてください。 (1) <?php?> の括りを分ける理由。 (2) $data は、なぜカッコに入れられているのか。 <?php $date = sprintf('%04d年 %02d月 %02d日',2013, 1, 23); ?> <?php print ($date); ?>

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

  • ベストアンサー
  • psboss
  • ベストアンサー率66% (2/3)
回答No.1

(1)について そもそもPHPという言語は、htmlの中に埋め込む形で記入できる言語です。 言い方を変えると、同じファイルの中に、htmlタグとphp文が混在できるという事です。 混在できるのであれば、「ここからここまでがPHPだよ」という目印が必要です。 それが「<?php」と「?>」です。 (2)について 関数は「 関数名(引数);」という形が基本です。 質問文にあるように print(); も sprintf(); も同じことですよね。 ただし、「 print($date); 」は、カッコなしの「 print $date; 」でもOKです。

dartymac
質問者

お礼

回答ありがとうございました。理解できました。間にHTMLを記述する場合はわけるのですね。

その他の回答 (2)

  • psboss
  • ベストアンサー率66% (2/3)
回答No.3

【補足】(1)について「分ける理由」を見落としていました。ごめんなさい。 1番目の括りと、2番目の括りの間に、html タグを書きたい場合、そのようになるでしょうね。 間に何もする必要が無ければ、下のように続けて書いても問題ないです。 <?php $date = sprintf('%04d年 %02d月 %02d日',2013, 1, 23); print ($date); ?>

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

(1) わかりません。 そのサンプルの説明に書いてないでしょうか? 「<?php~?>が複数あっても、一つのプログラムになっている。上の$dateと下の$dateは同じもの」 ということの説明用サンプルである、とか。 (2) マニュアルを読みましょう http://php.net/manual/ja/function.print.php 括弧ありが本来の形だが、無くてもよい、と解釈できます。

dartymac
質問者

お礼

カッコありが本来の形なのですね。カッコなしが標準で、なんでワザワザかっこに入れているのだろうと思っていました。ありがとうございました。

関連するQ&A

専門家に質問してみよう