16歳の4月22日 PHPの勉強をはじめました (1)

積ん読している本が20冊以上転がっている櫻井家ですがPHPの本を昨日1冊読み終えることができました。はじめてのPHP本には「はじめての人のためのかんたんPHP + MySQL入門」という本を使いました。
3年くらい前に買って放置していたので今は絶版のようですが、何でも丁寧に教えてくれる良書ですらすらと理解することができました。おすすめの一冊です。

はじめての人のためのかんたんPHP + MySQL入門 はじめての人のためのかんたんPHP + MySQL入門
紙谷 歌寿彦

秀和システム 2003-12
売り上げランキング : 193301

Amazonで詳しく見る by G-Tools

3年前になぜ放置してしまったのかわからない

3年経った今、改めて全てのページに目を通しましたが、とても丁寧に解説されているので理解できない点は一つもありませんでした。なのに、なぜ3年前の私は放置したのかがわかりません。12、13歳だったからでしょうか。多分僕は数学が苦手なので配列あたりで挫折したのだろうと思いますが…。もっと早くから取り組みたかったかも。

最初ははしょりました

もちろん全てのページに目を通しましたが、僕は職業柄PHPのスクリプトは書けないまでも改造することはやっていたので、変数や配列、if周りははしょりました。PHPのソース自体はとても身近な存在だったので…。(作られたスクリプトを利用するだけでしたが) しかし、この本はソースの雰囲気が理解できていない人でも簡単に理解できるように工夫されているので、「拡張子って何?」(さすがにそれはまずいか…)「.htaccessでアクセス制限したことあるよ」ってレベルの人なら簡単に理解できると思います。非常におすすめの本です。

気づき

さて、本のレビューがこのエントリーの趣旨ではありませんね。覚えた関数を連ねても何ら意味はありませんので、改めて気づいた点などを適当に書いていこうと思います。

  1. FLASE/0/空文字は偽になり、それ以外はすべて真。
  2. echo $i++;はechoの後に、echo ++$i;はechoの前に実行する。
  3. forとforeachは見た感じ難解なイメージがあったけど、読んでみれば全然何のことは無かった。むしろ簡単だった。
  4. print_rで配列を見やすく整形して展開できて便利。
  5. countで配列の要素数を数える。0から数えるので注意。
  6. 変数名は数字から始まっちゃいけない。
  7. 多次元配列だとか、連想配列だとかはPHPが勝手にやってくれるので考える必要はない。むしろ解らない。
  8. (非推薦らしいですが)?=$valはecho $val;と同じ動きをしてとっても便利。
  9. switchのbreakは必ず必要な訳ではない。構造によっては便利に使える。
  10. PHPの文字例同士の比較は辞書順。
  11. MySQLの命令文は非常にシンプルで簡単。難しそうなイメージだった。UPDATE SETで上書き。
  12. 難しいことは全部MySQLがやってくれる。PHPは指示を出すだけ。「男性の方は前に出てきて!背の低い順に並べ~~!」
  13. continueのイメージが掴みにくい。(要はその処理をスキップするだけ)
  14. 24abc + 1で25になる。PHPでは数値として解釈できる部分まで数値として扱ってくれる。
  15. nl2brはhtmlspecialcharsより後に記述する。
  16. \$で変数をエスケープできる。${val}でどこからどこまでが変数なのか指定できる。

ざっと、これくらいでしょうか。初めてなので当たり前ですが非常に収穫の多い勉強だったと思います。

今日の成果

勉強のできない私には珍しく最初から最後まで一貫して取り組めた本でした。朝の8時に起きて9時30分から始めましたが、終わったのは16時頃でした。1日あれば簡単なところは理解できてしまうのもPHPの魅力だと思います。PHPは本当に柔軟な素晴らしい言語ですね。オープンソースであるPHPを開発してくれたすべての人に感謝です。

さて、次の勉強ですが他の本に移ろうか、Webのチュートリアル(レッツ!PHPとか)に移ろうか迷っています。(手元にある本がこの本を除き、評価が優れないものばかりなので。) というわけで、初日の勉強はこれで終わりです。もし、Webのチュートリアルで秀逸なものをご存じでしたら是非コメントで教えてくださいね。

(追記) ポンクソフトが閉鎖?してる件について…。ポンクソフトのPHPチュートリアルは素晴らしかった覚えがあるのに非常に残念です…。無くなってみないとその有り難みがわかりませんね。いつも感謝することを忘れないようにしないと。

2 つっこみ

  1. ぺありん さん

    >countで配列の要素数を数える。0から数えるので注意。
    「最後の添え字」って覚えておくと注意しなくていいかも!
    $array[0], $array[1], $array[2]
    のみっつの要素が入っている配列なら、最後の添え字である2が返ってくる、みたいな!

    レッツPHPのソースは綺麗で平易やから読みやすいと思うので、最初から最後まで「何やってるのか」ってのを読んでいって手を加えたりしてみると面白いしすぐにできるようになるよ!
    (どんなに高性能なスクリプトでも読みにくいソースを書く人は能力低いなぁ、と思っちゃいます><)

  2. 櫻井 さん

    >> ぺありん
    コメントありがとう!

    >「最後の添え字」って覚えておくと注意しなくていいかも!
    確かにそうすれば良いね!><
    頭が回ってなかった!

    > レッツPHPのソースは綺麗で平易やから読みやすいと思うので、最初から最後まで「何やってるのか」ってのを読んでいって手を加えたりしてみると面白いしすぐにできるようになるよ!

    レッツのチュートリアルはそこまで良くない(いきなりforeach)という噂があるのでよく考えてやりたいと思います!
    読みやすいソースかあ。それは二の次かなあ笑

One Trackback/Pingback

  1. [...] 前回の「PHPの勉強をはじめました (1)」の続きのエントリーです。よろしければ前回のエントリーも併せてお読みください。その筋を極めている方に参考になる点は無いと思いますが・・ [...]