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官網查一查吧
還有三個等於的用法 Orz....
回覆刪除是的!有 === 的用法
回覆刪除我不知道有沒有誤解你的意思
此例中講的是把字串的內容
'true' , 'yes' , 'on' 轉為 純boolean的true
'false', 'no' , 'off' 轉為 純boolean的false
@白目捷 三個等號的作法和本篇所要達表的功能好像沒關係@_@
回覆刪除@Tsai 之前沒用過filter_var,剛看了一下官網,的確是好物。