phpで型変換(キャスト)を行う
PHPはあまり型にうるさくない言語である。
しかし、下記の方程式を使っていると、困ることがある。
function foo($s){ if($s === '1'){ return true; } //else return false; }
上記の関数だと、引数にはstring型を渡してやらないと、trueが返ってこない。
間違ってint型を渡してやったりするとfalseが返ってきて、バグの元になってしまう。
このような場合、phpには型を変換する機能がついているようだ。
* (int), (integer) - 整数へのキャスト
http://php.benscom.com/manual/ja/language.types.type-juggling.php
* (bool), (boolean) - 論理値へのキャスト
* (float), (double), (real) - float へのキャスト
* (string) - 文字列へのキャスト
* (binary) - バイナリ文字列へのキャスト (PHP 6)
* (array) - 配列へのキャスト
* (object) - オブジェクトへのキャスト
* (unset) - NULL へのキャスト (PHP 5)
使い方としては下記のように記述することで可能となる。
$foo = 1; $baa = (string)$foo;
これで、$baaに格納されている「int」型であった1という数字は「string」型に変換できる。
細かい動作はまだ見てないが、概ね便利に使えそうだからメモ