重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

PHPを勉強していて、以下のサンプルに出会ったのですが、これについて 2 点教えてください。

(1) <?php?> の括りを分ける理由。
(2) $data は、なぜカッコに入れられているのか。

<?php
$date = sprintf('%04d年 %02d月 %02d日',2013, 1, 23);
?>

<?php
print ($date);
?>

A 回答 (3件)

(1)について


そもそもPHPという言語は、htmlの中に埋め込む形で記入できる言語です。
言い方を変えると、同じファイルの中に、htmlタグとphp文が混在できるという事です。
混在できるのであれば、「ここからここまでがPHPだよ」という目印が必要です。
それが「<?php」と「?>」です。

(2)について
関数は「 関数名(引数);」という形が基本です。
質問文にあるように print(); も sprintf(); も同じことですよね。
ただし、「 print($date); 」は、カッコなしの「 print $date; 」でもOKです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/05/05 10:56

【補足】(1)について「分ける理由」を見落としていました。

ごめんなさい。

1番目の括りと、2番目の括りの間に、html タグを書きたい場合、そのようになるでしょうね。
間に何もする必要が無ければ、下のように続けて書いても問題ないです。
<?php
$date = sprintf('%04d年 %02d月 %02d日',2013, 1, 23);
print ($date);
?>
    • good
    • 0

(1) わかりません。


そのサンプルの説明に書いてないでしょうか?

「<?php~?>が複数あっても、一つのプログラムになっている。上の$dateと下の$dateは同じもの」
ということの説明用サンプルである、とか。

(2)
マニュアルを読みましょう
http://php.net/manual/ja/function.print.php
括弧ありが本来の形だが、無くてもよい、と解釈できます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/05/05 10:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!