針對boolean型主要有兩方面的問題。
型別轉換,其他型別轉換成boolean結果
<?php
var_dump
((bool)"")
;// bool(false)
var_dump
((bool)1)
;// bool(true)
var_dump
((bool)-2
);// bool(true)
var_dump
((bool)
"foo");
// bool(true)
var_dump
((bool)
2.3e5);
// bool(true)
var_dump
((bool)
array(12
));// bool(true)
var_dump
((bool)
array()
);// bool(false)
var_dump
((bool)
"false");
// bool(true)
var_dump
((boolean)0)
;// bool(false)
var_dump
((boolean)
'0')
;// bool(false)
var_dump
((boolean)
'0.0');
// bool(true) 注意這個和'0'不太一樣
<?php$x=
true;$y
=false;$z
=$yor$x
;//結果 false
?>
//$z = $y or $x,相當於 ($z = $y) or $x
<?php$x=
true;$y
=false;$z
=$y||$x
;//結果 true
?>
//$z = $y || $x, 相當於 $z = ($y || $x)
主要是優先順序的問題, or和||優先順序不一樣,平時使用中要注意!!!
另乙個經常考察的就是兩個值比較,一般結合empty,isset,==
<?php
var_dump
(empty(0
));// true
var_dump
(is_null([
]));
// false
var_dump
(empty
(false))
;// true
var_dump
(empty
('0'))
;// false
var_dump
(empty
(null))
;// true
var_dump
(false==[
]);// true
var_dump
(false
=='0');
// true
var_dump
(null
===)
;// false
var_dump(0
==1);
// false
var_dump(0
==(bool)
'all');
// false
var_dump(0
=='all');
// true, take care
var_dump(0
==='all');
// false
var_dump
((string)0==
'all');
// false
php面試常見問題
php方面的 抽象類介面類問題 關鍵字和魔術方法問題 curl fopen系列問題 設計模式 工廠單例 依賴注入系列問題 php閉包 型別約束問題 正則 必考 mysql 索引問題 必問 btree聚簇索引原理,慢查詢解決流程,mysql配置檔案具體引數,主從配置 apache apache配置檔案...
php開發常見問題
ajax 方面 ajax寫法 簡寫版ajax get url.php function data json post url.php function data json 另外因為ajax是非同步重新整理,不能輸出檢視,為了在除錯過程中檢視資料,可以將需要檢視的資料寫入檔案 注意 1 php 裡面使...
安裝php常見問題總結
php7.1版本出現call to undefined function mysql connect 通過通過第三方yum remi源 安裝指定7.1版本的php。用資料庫連線不上,是寫用了mysqli擴充套件去連線的。顯示未成功定義mysqli connect 的!rpm qa grep mysq...