2011年11月24日 星期四

php string 轉 boolean (php_filter)

PHP它是一個weak type的程式語言 所以只要字串有值,拿去做if判斷時,就一定會回傳true 但有時候會希望帶進來的參數為字串 "false" 時希望它的boolean為 false 在php5以前的版本可能只能這樣寫 ```php $bool = 'false'; $result = NULL; if ($bool == 'false' OR !$bool){ $result = FALSE; } var_dump($result); ``` 不過php5之後的版本可以換一個方式寫了 ```php $bool = filter_var($_GET['bool'], FILTER_VALIDATE_BOOLEAN); ``` 這樣$_GET['bool']帶進來的值為 'false','no','null','0' 都會被轉為 FALSE 這個函式就像是JAVA的 ```javascript Boolean.parseBoolean(strBoolean); ``` 如果要寫一些比較嚴謹的PHP程式用這個函式可能是比較好的作法... PS. filter_var這個函式不只可以字串轉boolean、也可以驗證email、ip、url等等.... 有興趣的話就上PHP官網查一查吧