is_bool()
函數用于檢查一個變量是否為布爾值。當你想要確保一個變量是布爾值,并且在需要時將其他類型的變量轉換為布爾值時,可以結合類型轉換來使用 is_bool()
。
以下是一個示例:
function convertToBool($value) {
if (is_bool($value)) {
return $value;
} elseif (is_string($value)) {
$value = strtolower($value);
if ($value === 'true' || $value === '1') {
return true;
} elseif ($value === 'false' || $value === '0' || $value === '') {
return false;
}
} elseif (is_numeric($value)) {
return (bool)$value;
}
// 對于其他類型,根據需要返回 true 或 false
return false;
}
// 測試
$values = [
true,
false,
'True',
'False',
'1',
'0',
'',
1,
0,
null,
[],
new stdClass(),
];
foreach ($values as $value) {
echo gettype($value) . ' => ';
var_dump(convertToBool($value));
}
在這個示例中,我們創建了一個名為 convertToBool()
的函數,該函數接受一個參數 $value
。首先,我們檢查 $value
是否已經是布爾值,如果是,則直接返回。接下來,我們檢查 $value
是否為字符串,并嘗試將其轉換為布爾值。如果 $value
是數字,我們使用 (bool)
類型轉換將其轉換為布爾值。對于其他類型,我們可以根據需要返回 true
或 false
。
通過這種方式,我們可以確保 convertToBool()
函數始終返回一個布爾值,同時允許輸入其他類型的變量。