2010年09月13日


PHP における「現実的な」変数の意味

データを保存する場所

プログラミング言語において、「変数」は、データを一時的に保存する場所です。
また、殆どの場合保存する場所は PC のメモリになるのですが、WEB アプリケー
ションという特性上、PHP に限った事ではありませんが、ブラウザが表示している
HTMLの「FORM」内の「INPUT要素の値」も PHP にとっては変数と同じ役目を持って
います。

$_GET は、入力値を保持する「変数」ですが、PHP 側の処理が終了すると消えて
無くなってしまいます。しかし、画面のデフォルト値に埋め込めば、再び PHP が
呼び出された時にその値は保持されているはずです
<INPUT
	type="text"
	name="InTel"
	value="<?= $_GET['InTel'] ?>"
>

<SELECT name="InAddress">
<OPTION value="1" <?= $_GET['InAddress'] == "1" ? "selected" : "" ?>>大阪
<OPTION value="2" <?= $_GET['InAddress'] == "2" ? "selected" : "" ?>>京都
<OPTION value="3" <?= $_GET['InAddress'] == "3" ? "selected" : "" ?>>神戸
</SELECT>

<INPUT
	type="radio"
	name="InSex"
	value="0"
	<?= $_GET['InSex'] != "1" ? "checked" : "" ?>
>
<INPUT 
	type="radio"
	name="InSex"
	value="1"
	<?= $_GET['InSex'] == "1" ? "checked" : "" ?>
>

<INPUT
	type="checkbox"
	name="InCheck"
	value="1"
	<?= $_GET['InCheck'] == "1" ? "checked" : "" ?>
>
変数である事の主張

PHP では、変数は必ず $ からはじまるようになっています。これは、"" の
中で変数が記述された場合に、中身で置き換える事ができるようにする為です。
但し、この場合、変数の終わりの位置を決める必要がありますが、何もしなくても
「あきらかに」変数の終わりが解る場合は PHP が判断してくれます。ですが、
もし、PHP が判断できないような文字列があった場合は、以下のように {} で
挟むように決められています。
$x = "/";
$a = "abcd{$x}efgh";
変数の3つの形

プログラミング言語では、変数には「型」という種類が必ず存在しますが、
込み入ったものでも無い限り、PHP で最も意識する「型」は「文字列」と
言う型です。

文字列はたいていにおいて、「見たまま」の内容で、入力された値を最も
意識する必要があるのが WEB アプリケーションでもあります。そんな中、
変数の「ありかた」と言うものを3種類意識して処理を書く事が殆どとな
ります。

1) 単独

 $a というように、変数名一つに対して、値が一つ存在するものです。

2) 単純配列

 $a[0]、$a[1]、$a[2] ... と言うように、変数名一つに対して、複数
 値が存在しますが、複数の値を管理するのに「整数」を使うものです。

3) 連想配列

 $a["住所"]、$a["電話番号"]、$a["氏名"] ... と言うように、変数名
 一つに対して複数の値が存在し、複数の値を管理するのに「文字列」を
 使います

 結果的には、「連想配列」が他の「ありかた」を全て含むので、配列の
 内容を一括で取り出すような場合は、以下のような方法を取ることにな
 ります。
$a = array();

$a[] = "123";
$a[] = "456";
$a["山"] = "富士山";
$a[] = "789";
$a["湖"] = "琵琶湖";

foreach( $a as $Key => $Value ) {
	print "$Key : {$a[$Key]}<br />";
}

関連する記事

変数は乗り物で、function は部屋です。
PHPの「連想配列」: associative array


posted by at 18:36 | Comment(0) | PHP | このブログの読者になる | 更新情報をチェックする


この記事へのコメント
コメントを書く
お名前:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。