10週間ウェブ開発講座

第二週

第二週では、phpの基本として次の内容を扱います。

  • phpプログラムについて
  • echo文の書き方について
  • 変数について

php

phpプログラムについて

phpはhtmlの中に組み込んで使うことのできる簡単なプログラミング言語です。
htmlの中に次のように組み込んで使用します。

  1. <html>
  2.  
  3. <body>
  4.  
  5. <?php
  6. // ここにphpプログラムを記述する。
  7. ?>
  8.  
  9. </body>
  10.  
  11. </html>

"<?php" と "?>" で囲まれたところがphpプログラムとして扱われます。

echo文の書き方について

phpで最もよく使用するのがecho文です。echoは文字列の出力に使用します。
echoを使うと、第一週で作成したhtmlページを次のように書き換えられます。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr">
  4.  
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title><?php echo "僕の私のはじめてのホームページ"; ?></title>
  8. </head>
  9.  
  10. <body>
  11. <p>
  12. <?php echo "こんにちは、はじめてのホームページです。"; ?>
  13. </p>
  14. </body>
  15.  
  16. </html>

echoでは、出力したい文字列を"で囲みます。

また、phpでは複数の文を;で区切って使用することができます。
次のようなプログラムを書くことができます。

  1. <?php
  2.  
  3. echo "おはようございます!";
  4. echo "こんにちは!";
  5. echo "こんばんは!";
  6.  
  7. ?>

ぜひ自分で結果を確かめてみてください。

空白について

phpプログラムにおいて空白として使用できるのは次の文字です。

  • 半角スペース
  • タブ
  • 改行文字

PHPプログラムにおいて空白の数は意味を持ちません*1
しかし、PHPプログラマにとって空白の数は大きな意味を持ちます
次のプログラムは先程のサンプルプログラムから空白を取り除いたものです。

  1. <?php echo "おはようございます!";echo "こんにちは!";echo "こんばんは!"; ?>

このようなプログラムはプログラマを大いに混乱させます。
適度な空白をプログラムに含ませ、プログラムの可読性を確保するように心がけましょう。

また、全角スペースはPHPプログラムにおいて空白とは異なる扱いであることに注意してください。
PHPプログラミングに不慣れな内は、プログラム中に全角スペースを含めてしまい、
文法エラー*2を引き起こしてしまうことがよくあります。

変数について

phpでは「変数」を扱うことができます。変数とは数値や文字列を格納する領域のことです。
phpの変数は、先頭が'$'で始まる英数字です*3

例を見てみましょう。

  1. <?php
  2.  
  3. $asa = "おはようございます!";
  4. $hiru = "こんにちは!";
  5. $yoru = "こんばんは!";
  6.  
  7. echo $asa;
  8. echo $hiru;
  9. echo $yoru;
  10.  
  11. ?>

この例では、それぞれ「$asa」に"おはようございます!"という文字列を、「$hiru」に"こんにちは!"という文字列を、「$yoru」に"こんばんは!"という文字列を格納しています。また、echoでそれぞれの変数の中身を出力しています。

変数に格納できるのは文字列だけではありません。次のような記述もできます。

  1. <?php
  2.  
  3. $kazu = 123;
  4. $moji = "abc";
  5. $shosu = 1.23;
  6.  
  7. echo $kazu;
  8. echo $moji;
  9. echo $shosu;
  10.  
  11. ?>

実行結果を確かめてみてください。

注目すべき点は次の通りです。

  • 文字列は、"(ダブルクォーテーション)か'(シングルクォーテーション)でくくる必要がある
  • 整数や小数は、"でくくる必要がない
  • 変数に格納されているものに関わらず、echoで中身を出力できる

また、変数は中身を書き換えることができます*4

  1. <?php
  2.  
  3. $hensu = 1;
  4. echo $hensu;
  5. $hensu = 'change!';
  6. echo $hensu;
  7.  
  8. ?>

phpでは変数を柔軟に変更することが可能なため、中身を推測しやすい変数名を考える必要があります。
例えば、$kazuという変数に文字列を代入すると、プログラマは混乱してしまうでしょう。

宿題

  • 文字列を"(ダブルクォーテーション)でくくったときと'(シングルクォーテーション)でくくったときの差異を調べてください
  • echoした文字列に改行を加えるにはどうすればよいか調べてください
  • 下記のプログラムで"おはこんばんちは"と出力されるように、???を埋めてください*5(「php 文字列結合子」もしくは「php sprintf」などで検索してください)
  1. <?php
  2.  
  3. $a = "おは";
  4. $b = "こん";
  5. $c = "ばん";
  6. $d = "ちは";
  7.  
  8. echo ???;
  9.  
  10. ?>

これらをまとめて、2nd_week_homework.htmlファイルを作成し、http://y-mahata.s-tanno.com/2nd_week_homework.html で参照できるようにしてください。


*1 空白の有無は意味を持ちます。
*2 Syntax Errorと表示されます。
*3 厳密な記述ではありませんが、簡単のため、ここではこの程度の説明に収めておきます。
*4 変数の中身をある値で書き換えることを、「変数に値を代入する」と表現します。
*5 いくつか方法が存在します。2種類以上の方法で実現できると素晴らしいです。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-09-10 (木) 15:09:02 (360d)