$(ドル)マークは金の匂いではない
PHPのコードを見た瞬間、目に飛び込んでくる大量の「$」マーク。
初心者はここで思考停止します。「課金が必要なのか?」と。違います。
それはPHPに対して「おい、ここから先はデータを操るぞ」と宣言するための印です。あなたが数学の時間に習った「x」や「y」は忘れてください。あれはトラウマの元凶です。
プログラミングにおけるこの機能は、もっと即物的で、単純明快な道具です。正体は「名前が書かれた段ボール箱」です。
箱を用意し、中身をぶち込む
この機能の仕事は一つ。データを一時的に保管することです。
コンピューターは物覚えが悪い。計算結果やユーザーの名前を、一瞬で忘れます。だから「箱」に入れて保存させておく必要があります。
使い方は驚くほどシンプルです。
$user_name = "鈴木一郎";Code language: PHP (php)
これだけ。ここで起きている現象を翻訳します。
- $user_name: 「user_name」という名前のマジック書きをした箱を用意せよ
- =: 右側のものを、左側の箱に入れろ
- “鈴木一郎”: 中身のデータ
- ;: 命令終了
つまり、「user_nameという箱に、鈴木一郎という文字列をぶち込め」という命令です。これでコンピューターは、プログラムが終わるまで、この箱の中身が鈴木一郎であることを覚えています。
「=」は「等しい」ではない
最大の罠がここにあります。学校では「左右が等しい」ことを示すために「=」を使いました。
しかし、プログラミングの世界では「代入」を意味します。左辺(箱)に右辺(値)を無理やり押し込む動作のことです。
$score = 100;
$score = $score + 50;Code language: PHP (php)
数学なら発狂する式です。100が150と等しいわけがない。
ですが、PHPでは正解です。
「今のscore箱の中身(100)を取り出し、50を足して、もう一度score箱に戻せ」。結果、箱の中身は150になります。
右から左へ。この一方通行の流れを体に刻んでください。
上書きして「過去の消去」
この箱は、常に最新のデータしかしりません。
$age = 20;
$age = 25;Code language: PHP (php)
こう書いた瞬間、最初の「20」は最初から無かったかのように消えます。
箱の中に値を入れるときは常に一つだけ(配列などを使うと実質的に複数個入れられますが、その解説は別記事とします)。
新しいデータが入ってきたら、古いデータは即座に追い出され、破棄されます。警告も出ません。「はい、消しました」という通知すらない、極めてドライな仕様です。
だからこそ、プログラマーは「今、この箱に何が入っているか」を常に意識する必要があります。油断すると、重要なデータが意図しない数値で上書きされ、プログラム全体が崩壊します。
なんでも飲み込む「動的型付け」の恐怖と快楽
PHPの箱は、とんでもなくルーズです。
他の厳格なプログラミング言語(Javaなど)では、「この箱は整数専用」「この箱は文字専用」と厳しく決められています。お菓子用の箱に靴下を入れるとエラーで怒られます。
しかし、PHPは違います。
$box = 100; (数字を入れる)
$box = "こんにちは"; (やっぱ文字を入れる)Code language: PHP (php)
これを平気な顔で許します。これを専門用語で「動的型付け」と呼びます。
メリット:爆速で書ける
いちいち箱の種類を指定する必要がないため、コードを書くスピードが上がります。「とりあえずデータを入れておけ」という荒技が通じます。
デメリット:カオスの温床
数字だと思って計算しようとしたら、中身が文字になっていてエラーになる。そんな事故が頻発します。
何でも入るゴミ箱は便利ですが、中身が何か分からなくなるリスクと隣り合わせです。
名前付けのセンスが問われる
箱を作る時、名前(変数名)は自由につけられます。$a でも $b でも動きます。
ですが、絶対にやってはいけません。
$t = 1000;Code language: PHP (php)
これでは、何の数字かわかりません。1年後の自分が見たら「tって何だ?Time?Tax?Temperatur?」と頭を抱えることになります。
$tax_price = 1000;Code language: PHP (php)
これなら一目瞭然です。名前は多少長くてもいいので、意味がわかる名前をつけること。これが未来の自分への優しさであり、バグを防ぐ唯一の防御策です。
まとめ
PHPにおける変数とは、「$マークがついた万能段ボール箱」です。
- 「=」は代入:右から左へデータを押し込むアクション
- 上書き保存:古いデータは未練なく捨てられる
- 何でも入る:数字も文字も受け入れるが、管理責任は人間にある
この「箱」を自在に操れるようになった時、あなたはただの文字の羅列から、意味のあるプログラムを生み出せるようになります。
まずは箱を作り、好きなものを入れてみることから始めてください。デジタル空間の整理整頓は、そこから始まります。

コメント