初めてのPHPプログラミング

Webでデータベースを構築する目的で、初めてPHPを触ることになったのですが、その時手元にあった本がこれ。

オープンソース徹底活用 MySQL4/PHP5によるWebデータベース構築

オープンソース徹底活用 MySQL4/PHP5によるWebデータベース構築

まだPHPの部分しか読んでませんが、解説の仕方や日本語が変なところがありました。CやPerlを既に知っている人が見れば、皆同じ思いになるかも知れません。

  • 「型キャスト」を「配役演算子」と書いてある。
  • ビット演算のXORについての説明が「$aと$bのどちらかだけに一致する部分」
  • ビット演算の反転についての説明が「難しいので計算方法を補足」

「本の説明では、0, '', '0'以外はTRUEって書いてあったけど、実際に動かしてみるとNULLってFALSEと判定された。これって実装依存とかじゃないよね?」とか、「本当にこの言い方であってるのか心配だなあ。」とか、いろいろ疑問が出てきたので、オンラインリファレンスを見ることに。

さんざん否定的なことを書きましたが、悪くないですよ。この本。十分勉強になりました。

PHPで「いいなあこれ」と思った点を上げてみます。

  • ファイルのアップロードとか簡単に書ける。
  • セッションの管理も既に用意されていて、簡単に制御できる。
  • POST, GETリクエストのクエリーを簡単に取り出せる。決まった名前の配列に入っている。
  • CSVファイルからのデータ取り出しも簡単にできる。fgetcsv()という関数が用意されている。

PHPで「お、見慣れない動きだな、これ」と思ったのは、リファレンス。Perlで以下のように書くと「関東」と表示されます。

$a = '関東';
$b = \$a;
$b = '関西';
print($a);

一方、PHPの場合だと「関西」と表示されます。

$a = '関東';
$b = &$a;
$b = '関西';
print($a);

PHPでは、デリファレンスのために明示的になにかする必要がないところがポイントです。

Perlに慣れた人だと、これは結構ハマるところかも知れません。