PHP文法の基礎を整理する

  • 投稿日:
  • by
  • カテゴリ:

PHPに取り組むにあたって基本文法を整理してみます。

・PHPでプログラム部分を書き始める時の開始タグ<?php

・PHPで書いたプログラム部分を書き終わる時の終了タグ?>

・PHPプログラム内の文字列出力echoもしくはprint
 echoprintの後には「"」(ダブルクオート)もしくは「'」(シングルクオート)で囲った内容を出力します。
 囲うのはダブルクオート、シングルクオートどちらでもOKです。
 違いは「\n」(改行)のような制御文字を読み込めるかどうかです。
 シングルクオートで囲った場合はその中がすべて文字列となるため、制御文字は使えません。

・PHPプログラム内のコメント
  ・1行コメント://
  ・複数行コメント:/* から*/

PHPプログラム内では通常のHTMLタグはそのまま記述できません。
文字列出力としてHTMLタグを出力するか、いったんPHPプログラムを終了タグで終わらせてHTML出力に切り替える必要があります。

・・・というあたりを踏まえてサンプルソースと実行結果です。

<サンプルソース>
<p>PHPコード開始前はタグ出力可能</p>
<?php    //PHPコード開始(コメント)
   echo ''<p>PHPお試し出力<BR>\n改行文字がどう出るかも確認</p>"; //PHPで命令文の最後には「;」を記述します。
   print ''<p>PHPお試し出力2<BR>\n改行文字がどう出るかも確認</p>';
   /*
   複数行にわたってコメントを記述する例<BR>
   コメントタグの間はすべてコメント扱いになります<BR>
   */

?>
<p>PHPコード終了後は通常のHTMLタグ出力に戻る</p>

<サンプル実行結果>

PHPコード開始前はタグ出力可能

PHPお試し出力
改行文字がどう出るかも確認

PHPお試し出力2
\n改行文字がどう出るかも確認

PHPコード終了後は通常のHTMLタグ出力に戻る

 

<出力ソース>
<p>PHPコード開始前はタグ出力可能</p>
<p>PHPお試し出力<BR>
改行文字がどう出るかも確認</p><p>PHPお試し出力2<BR>\n改行文字がどう出るかも確認</p>
<p>PHPコード終了後は通常のHTMLタグ出力に戻る</p> 

ちなみに・・・PHPコード内は通常のHTMLタグや文章の記述は行えません。
プログラム内になるため、下記のように記述してしまうとエラーが発生し、HTML表示されなくなります。

<サンプルソース>
<p>PHPコード開始前はタグ出力可能</p>
<?php    //PHPプログラム開始(コメント)
   <p>PHPコード内に通常タグ記述は不可</p>
?>
<p>PHPコード終了後は通常のHTMLタグ出力に戻る</p>

PHPを触ってみました。

  • 投稿日:
  • by
  • カテゴリ:
普段の仕事ではWeb系は触らないので初心者ですが(^^;
PHPに手を出してみました。
言語としては知ってましたが、使ってみるのは初めてです。

そもそもPHPとはなんぞや・・・?と調べてみると
「 Hypertext Preprocessor を再帰的に略したもの」と
PHPマニュアルのページには記載されていました。
wikipediaなんかには別の由来も書かれていましたが、HTMLに埋め込むことができるため
動的なWebページ開発に適しているようですね。

で、さっそくお作法とかをググりながらさわってみました。

<書いてみたページのソース>
<!DOCTYPE HTML>
<html>
<head><title>PHPテスト</title></head>
<body>
  <?php
    echo "PHP出力テスト";
    echo 'PHP出力テスト2';
    //1行コメント
    print('php出力テスト3.');
    print("php出力テスト4.");
    /*
    複数行コメント
    print('php出力テスト5');
    print("php出力テスト6");
    */
    $hensu = "php出力テスト";
  ?>
  <H3>通常のHTML出力</H3>
  <?php
    //変数(hensu)が設定されていれば出力
    if (!$hensu == "") {
        //HTMLタグを混入して出力
        //echoは複数の引数を設定可能。文字列結合される
        echo $hensu, "7<BR>";
        //printは引数は1つ。文字列結合は「.」で実施
        print($hensu."8<BR>");
        //printは戻り値を取得可能。処理された場合は「1」が戻ってくる
        $kekka = print("<p>".$hensu."9</p>");
        print($kekka);
    }
  ?>
</body>
</html>
<出力したページのイメージ>

実際のページはこちら
ほんとに出力してみただけーな感じですが
「<?php」から?>」までにPHPのスクリプトが埋め込めるわけですね。
途中に通常のHTMLタグ分をいれて2か所に入れるのもありです。
コメントを入れる場合、1行コメントなら文頭に「//」を入れ、複数行まとめてコメントアウトする場合は
/*」から「*/」までがコメント文になるわけですね。

出力する場合に「echo」や「print」としている例とばらついていますがどちらでもいいようです。
細かな違いを言えば上記例のように「echo」は複数引数設定することで文字列が連結される
「print」は戻り値を返すことができると違いはあるようですが、単純に出力するだけなら好みでしょうね。
あと、どちらも改行はされないようでスクリプト上、命令文を分けても出力時にはつながってしまうので
改行タグや段落タグを入れるのを忘れないようにする必要があります。

文字列の引用符を「"」としているもの、「'」としているものどちらもあってどっちが正解なんだろう?
と思って試してみましたが、どちらも同じ結果が得られたのでこれも好みの問題なのかなと思っています。

とりあえず1回目としてはこんな感じです。(^^;
また時々実験を兼ねて記録つけていこうと思います。

はじめてみました。

  • 投稿日:
  • by
  • カテゴリ:

システムエンジニアとして公共系のお仕事にたずさわっています。

複数年システム構築、保守をやっていくとそれなりに経験値もたまってきていると実感するものの

業務以外のことはわかんないなぁ・・・と思い、かなり久々にBlog等の普段お仕事ではあまり使わない

Web系に手を出してみようと思ってサイトを作ってみました(^^;

ホームページスペースは持っていたものの、忙しすぎて放置すること・・・どれくらいだろう・・・(^^;

みたいな状態なので、Blogの設定始めるだけで「あれ?どうだったっけ??」って感じです。

日々の仕事の感想や、合間にここで試してみたことなどつづっていこうと思います。