ポンクソフト

PHPの基本・簡単なプログラム - PHP入門

前ページ PHP入門 TOP 次ページ

目次

  1. PHP入門
  2. PHPの概要
  3. PHP環境のインストール(XAMPP)・PHPの設定
  4. PHPの基本・簡単なプログラム
  5. 文法1
  6. 文法2
  7. 様々な関数を使う
  8. フォームの基本
  9. システム作成
  10. オブジェクト指向
  11. データベースとSQL
  12. PHPでMySQLを使う
  13. ブログを作る
  14. ECサイト(ショッピングサイト)を作る

このページの内容

はじめに

この章では、簡単なPHPプログラムを作って実行してみましょう。PHPは他の言語に比べ、実行するまでの手間が少なく、結果をすぐに確認できます。後半では少し動的な要素の入ったプログラムを作成し、典型的なプログラム作成方法を学びます。詳しい文法は次章以降で説明します。

ソースファイルの置き場所

まずPHPのソースファイルを置くフォルダを作ります。ドキュメントルートに直接ソースファイルを置いても良いのですが、管理が大変になるのでサブフォルダを作ったほうが良いでしょう。ドキュメントルート(デフォルトではc:\xampp\htdocs)の中に「php」フォルダを作ってください。この本ではこのphpフォルダの中にソースファイルを置くことを前提とします。

c:\xampp\htdocs\phpフォルダの中にPHPプログラムを作成して行きます。
images/php_folder.png

作成したPHPプログラムは、ブラウザからhttp://localhost/php/を開くと参照できます。
images/php_localhost.png
XAMPPのApacheの初期設定では、ブラウザでフォルダを指定したときに「index」から始まる特定のファイルが無いときにはフォルダ内のファイル一覧が表示されます。一覧からphpファイルをクリックすると、ApacheからPHPが動き、結果のHTMLがブラウザに返されます。

Hello World!

新しい言語を学ぶときには、最初に「Hello World!」と表示するプログラムを作る、という不思議な慣習がありますので、それに従ってみましょう(もちろん、従わなくても良いのですが)。以下のソースをテキストエディタで入力してください。
hello.php
<?php
  echo "こんにちは世界!";
?>
入力が完了したらファイル名を「hello.php」にして、上で作成したphpフォルダに保存します。そのとき、必ず文字コードをUTF-8に設定してください。多くのテキストエディタでは保存ダイアログに文字コードを設定する箇所があります。

ブラウザで確認してみましょう。URL欄に「http://localhost/php/hello.php」と直接入力するか、「http://localhost/php/」を開き「hello.php」のリンクをクリックすると、ブラウザ上に「こんにちは世界!」と表示されます。
実行結果

別ページで開く

開始タグと終了タグ

ウェブサーバ(Apache)は、拡張子が「.php」のファイルをリクエストされると、開始タグ「<?php」から終了タグ「?>」の間までをPHPプログラムとして実行するようにします。すなわちPHPプログラムを作成する場合は、必ず開始タグと終了タグで囲まなければなりません。

また、開始タグより前、もしくは終了タグより後ろは、HTMLとしてそのままクライアントに送られます。

開始タグと終了タグは様々な種類がありますが、本講座では最もよく使われる「<?php」と「?>」に統一します。

文について

実際のプログラムの中身を見てみましょう。phpプログラムでは「文」単位でプログラムが動きます。典型的な文の構成としては、まず「命令」があり、次にその命令に渡す「パラメータ」が付きます。文の最後は原則としてセミコロンを付けます。

images/bun_kouzou.png

「echo」はクライアントにパラメータで指定した文字列を出力する命令です。この1文によってブラウザに「こんにちは世界!」と表示されるわけです。

PHP プログラムは、基本的に上の文から下へ順番に実行されます。 例えば以下のプログラムでは、「こんにちは1」と表示された後に「こんにちは2」と表示されます。
hello2.php
<?php
  echo "こんにちは1<br>";
  echo "こんにちは2<br>";
?>
実行結果

別ページで開く

おみくじプログラム

次に、もう少し動的ページらしいプログラムを作成してみましょう。以下のプログラムは、ページを開くたびに「大吉」か「凶」のどちらかがランダムで表示されるプログラムです。
omikuji1.php
<?php
  $num = rand(0, 1);
  if ($num == 0) {
    echo "今日の運勢は大吉です。";
  } else {
    echo "今日の運勢は凶です。";
  }
?>
実行結果

別ページで開く

おみくじプログラムの解説

PHPの文法について詳しくは次章以降で解説しますが、おみくじプログラムの全体的な流れについて軽く触れておきます。
$num = rand(0, 1);
「$num」は「変数」と言います。変数はプログラム内で「数値」や「文字列」を持ち運べる箱のようなものです。変数は全てのプログラムの基本となります。

「rand」は「関数」と言います。複数の文をまとめてひとかたまりの機能とし、名前を付けたものです。後ろの括弧の部分が関数に渡すパラメータとなります。この文では0か1かどちらかの値をランダムで返します。

「=」は「代入演算子」です。右辺の値を左辺に代入(コピー)します。数学のイコールとは意味が違うので注意してください。

上記の文全体の意味はrand関数によって返された0か1かの値を変数$numに格納しているのです。
if ($num == 0) {
  echo "今日の運勢は大吉です。";
} else {
  echo "今日の運勢は凶です。";
}
「if」は「条件文」と言います。後ろに書いた条件式により、$numが0のときは最初の中括弧の中身が、それ以外のときは2番目の中カッコの中身が実行されます。$numには0か1がランダムで返ってくるので、それに応じて「大吉」か「凶」のメッセージがランダムで表示されるのです。
前ページ PHP入門 TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0

このページに関するコメントをどうぞ

お名前:


wentgt
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/25 00:08

初心者
メールソフトの設定ってどうやるのですか...
gmailに送りたいのですが...
2017/01/24 21:33

enveloptf
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 21:23

paywinlv
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 18:04

anklebitcw
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 11:35

butterfxa
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 03:37

nhadeptronmr
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 20:39

nhadeptronlv
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 15:24

sinforve
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 12:46

calltrackju
すべての
cbbnews24.com
csgobooms.com
csgojoybets.com
incareersjobs.com
stcmidtenn.org
thewill.in
sakirkaratas.com
apexturnkey.in
medray.in
applevalleymarket.com
b8b90.com
danhhotgay.com
cstopstake.com
nsm.org.in
vov-fc.com
csgohugepots.com
eaglesapparelshop.com
mymobileappmobiappssub2016.com
sbppl.org
gracedental.in
kehulin.com
cheappricetoyou2015.com
vamortgageloantexas.com
doitacdoanhnghiep.com
techimanage.com
elmi.co
upea.in
esncordoba.org
goal888cash.com
fullebookz.com
2winde222.com
投稿者
2017/01/23 09:37

残りを読む »