Strings of Life

PHP/Phalcon/MySQL/JavaScript/RegExp/Ruby/Perl/ActionScript

2013年09月

8月は『詳説 正規表現 第3版』を読んでいたんですが、読みきれませんでした。Unicode難しい…

8月は、「これをやりました」と言えるような成果に乏しかったですね。

ただ、ニコニコ動画のランキングにNGワードを設定するスクリプトに関しては、シンプルですが必要十分な機能があって、気に入っています。


9月には、2つイベントに参加します。「PHPカンファレンス」と「YAPC Asia」です。

PHPカンファレンスはその名の通りPHPのカンファレンス。Wordpressのイベントと共催なので、参加者は2000人近く来るらしいです。参加費は無料。

YAPCはPerlのカンファレンス。言語系イベントの中でもテーマの拘束が緩めで、「PerlのリポジトリをダシにGitを語る」とか、「Perl v.s. Ruby」みたいなトークセッションがあったりします。

9月は、『詳説 正規表現 第3版』を引き続き読みつつ、『パーフェクトPHP』を読み返したり、Perlの復習をしたりしようかなと思います。


また、9月には、PHP中上級者向けのムックが刊行されます。Composer等、モダンなPHP開発者は既に使っている、しかし書籍での紹介はあまりされていないツールを概観できるのが魅力…と思われます(まだ出てないので希望的観測)。


PHP5で、以下の式・値を真偽値として評価(var_dump((bool)$value)するとどうなるか。

0 + true
0 + 'true'

'0'
'00'
'0.0'


解答は以下。
0 + true // 真偽値trueはintとして評価されると1になるので、0 + 1 = 1 true
0 + 'true' // 文字列'true'はintとして評価されると0になるので、0 + 0 = 0 false

/* 文字列を整数(int)として評価すると、
** 先頭から整数に変換可能な範囲を整数に変換し、
** それ以降を無視する。整数に変換できる文字列を含まない場合は0になる。
** (int)'123' // 123
** (int)'123hoge' // 123
** (int)'123hoge456' // 123
** (int)'1.23' // 1(.(ドット)は整数に変換できないので、.より後ろは無視される)
** (int)'hoge' // 0
*/

'0' // '0'を真偽値として評価するとfalse '00' // true ※ '0.0' // true ※
/* ※文字列を真偽値として評価するとfalseになるのは、
** 空文字列の場合と、'0'一文字だけの場合
*/

このページのトップヘ