PHP超入門 (8)
さて、今まで、これから超基礎的な部分からお話しようと思うPHPについて、
そのお話をする前に、そのPHPで、エクセル本体のソフトがなくても、エク
セルのデータをインターネットエクスプローラ等のブラウザや、携帯電話で見
ることができるという実証というか実験を、3回ほどにわたり、見てまいりま
した。
なぜ、最初にこのようなPHPによるエクセルのデータを取り扱う、という、
いきなり応用的な話を持ってきたかというと、PHPでプログラムを組めるよ
うになれば、非常に有用ですよ〜、ということを分かってもらいたかったのが
一番の目的だった訳です。
ですから、今まで例として取り上げた、意味不明の英数字の羅列としか見えな
い、PHPのプログラムの中身を理解する必要は全くありません。
ただ、PHPつーのは便利そうだな、というのが分かっていただければそれで
十分です。
ただ、そんな話ばかりをしても話がなかなか前に進みませんし、話が横道に深
くハマらないうちに、元に戻して、PHPの基礎的な話を今回から、始めたい
と思います。
その第一回目は、PHPに限らず、様々なプログラミング言語に共通した事項
である「変数」というもののお話です。
最初は、変数というものについての概略的なお話をし、その後、PHPに的を
絞ったお話をしていきます。
■変数とは■
さて、変数とは、今回のPHPに限らず、プログラム全般でよく言われること
ですが、プログラムの中で利用する、データを記憶する箱(エリア)の事です。
数値や文字列を一時的に保管しておくものと考えてください。
例えば、エクセルの場合、1つのセルに値を入力すると、同じシートの他の部
分で、そのセルを指定することにより、入力された値を再利用ことができます。
また、エクセルのセルには、数字でも文字でも入力できます。
このことから、プログラムにおける変数とは、エクセルの1つのセルにあたる、
と考えてくださって結構です。
ただ、プログラムにおける変数には、エクセルのセルとは異なり、いくつかの
種類があります。
その変数の種類を「データ型」といい以下の3つがあります。
スカラー型 1つの箱(エクセルの1つのセル)
配列型 引き出しがたくさんあるたんす
(エクセルの1つのセルの中に、さらに複数のセ
ルがある、というイメージです)
ハッシュ(連想配列)型 上記の引き出しに見出し(名前)が張ってあるた
んす、の様に考えてください。
後ほど詳しく説明します。
■変数の記述の仕方 (1)■
上記の説明で、変数とはエクセルのセルのようなものだ、と説明しました。
エクセルの場合ユーザーは何もしなくても、「A1」「B1」等でセルを指定する
ことにより、既に入力されたデータを、シートの他の場所でを再利用すること
ができます。
一方、プログラムにおける変数には、エクセルの「A1」「B1」というような、
セルの名前にあたるものは準備されていませんので、ユーザーが自分で設定す
る必要がありますが、その代わり、その名前は自由に設定することができます。
例 $kingaku
$heikin
$goukei・・・等
ただし、ユーザーが変数の名前を自由に設定できる、書きましたが、いくつか
の制限があります。
また、上記例の「$」は何でしょうか?
これらの点について、次に説明します。
■変数の記述の仕方 (2)■
ユーザーが自由に設定できる変数の名前ですが、その付け方には、いくつかの
決まりごとがあります。
これらには、理由というものはないので、あまり深く考えず、PHPの仕様上、
そのように決められていると考えてください。
PHPにおける変数の命名規則
(1) 変数の先頭には、必ず「$」を付けなければならない
(2) 変数には、アルファベット、数字、アンダースコア「_」を使用できる。
(3) 変数にアルファベットを使った場合には、大文字と小文字は区別される。
(4) 最初の文字($の次の文字)は、アルファベットかアンダースコア「_」で
なくてはならない。
正しい記述例
$goukei
$Goukei $goukei とは区別される
→$Goukeiと$goukeiはエクセルにおける別々の2つのセル、とい
うイメージです
$_goukei _(アンダーバー)は使用できる
誤った記述例
$123 先頭($の次の1文字目)が数字である
$gou-kei 「-(ハイフン)」 は使用できない
→「-(ハイフン)」は記号であり、アルファベット、数字のいず
れでもない
■定義済みの予約変数■
基本的に変数名は、ユーザーの好きなように付けることができますが、一部使
用できない変数の文字があります。
それは、PHP自身が既に使用している文字で、その様な変数を定義済みの予
約変数(予約語)といいます。
以下にすでに使われている変数を示します。
今の段階で、1つづつ説明すると、内容が非常に複雑になりますので、ここで
は、単に、以下の文字の並びは、変数に使えないと覚えておいてください。
$GLOBALS
$_SERVER
$_GET/$HTTP_GET_VARS
$_POST/$HTTP_POST_VARS
$_COOKIE/$HTTP_COOKIE_VARS
$_FILES/$HTTP_POST_FILES
$_ENV/$HTTP_ENV_VARS
$_REQUEST
※詳細は
http://www.php.net/manual/ja/language.variables.predefined.php
を参照ください。
■変数を定義する■
ここで説明することが、プログラムを作成する上での基礎・基本となります。
エクセルでは、例えば「A1」というセルにデータ(文字・数字)を入力すると
シートの他の部分でA1セルに入力された内容を参照したり、処理することがで
きます。
そして、プログラムにおける変数とは、エクセルの1つのセルのようなもの、
と説明しました。
エクセルでデータを入力する、例えば、「1つのセルにカーソルを合わせて、
"りんご"とキーボードから入力後、エンターキーを押し、そのセルに"りんご"
という文字を入力する」という操作は、PHPのプログラムでは
$a = "りんご";
と記述します。
これにより、「$a」という変数の中に、「りんご」という文字が格納され、プ
ログラムの他の部分で、「$a」を指定すれば、その中に格納されている「りん
ご」という文字を参照したり、加工することができるようになります。
私たちの日常生活では「=」は、「右側に書いてあるものと、左側に書いてあ
るものとは等しい」という感覚ですが、プログラムの場合の「=」は、「右側
に書いてあるものを、左側に書いてあるものに代入(格納)する」という使い
方が基本です。
このことが理解できないと、今後、このメルマガで解説していく内容がわから
なくなりますので、これは必ず覚えておいてください。
上記では、例は、「りんご」という「文字」を変数に代入しましたが、数字の
場合でも同様です。
$a = 100;
変数を扱う時の基本ですが、文字を扱う時は、代入する文字を「"(ダブルク
ォーテーション)」で囲みます。
数字の場合は、何も書きません。
文字を「”」で囲まないと、エラーとなるので、ご注意ください。
$a = りんご;
と書くと、この部分でエラーとなり、プログラムはストップしてしまいます。
以上、PHPプログラムの基礎の基礎の部分である変数について、お話してま
いりました。
ただ、上でお話した変数は、一番単純な変数の形式である「スカラー型」とい
うものでしたが、次回からは、もう少し複雑な形式の変数についてお話したい
と思います。