其他类型自动转布尔类型 :
1. 整型 和 浮点型 :
- 0 和 0.0 都可以自动转换为布尔类型的 false .
- 0以外的其他整型都是 true.
- 0.0…..后面只要有 1 个非零的数字, 即为 true.
- 非零开头的浮点类型的数值也全都为 true.
2. 字符串类型 :
- 空字符串为 false . 里面只要有一个空格,都算 true 。
- 字符串的0,也为 false 。
- 其他的都为 true 。
3. 数组类型 :
- 空数组为 false , 里面只要有一个值 , 就为 true .
4. null
5. 资源
$a = 0.0;
if ($a) {
echo "1true<br>";
} else {
echo "1false<br>";
}
$a2 = 0.000001;
if ($a2) {
echo 'true2<br>';
} else {
echo 'false2<br>';
}
其他类型的自动转换
boolean类型自动转数字类型 :
$a = 0.000;
$boolean1 = false;
var_dump($boolean1+$a); // float(0)
var_dump($boolean1 + 2); // int(2) --- false 转为了0
$boolean2 = true;
var_dump($boolean2 + 2); // int(3) --- true转为了1
var_dump($boolean1 + $boolean2); // int(1) --- 0+1
var_dump($boolean1 + 0.02); // float(0.02)
var_dump($boolean2 + 0.002); // float(1.002)
强制类型转换
其他类型强制转换为String : strval()
$boolean1 = false;
$boolean2 = true;
var_dump(strval($boolean1)); // string(0) ""
var_dump(strval($boolean2)); // string(1) "1"
其他类型强制转换为int : intval()
$float1 = 0.00223;
var_dump(intval($float1)); // int(0)
$string1 = '12345.33';
var_dump(intval($string1)); // int(12345)
其他类型强制转换为float : floatval()
$string1 = '12345';
var_dump(floatval($string1)); // float(12345)
$int1 = 123;
var_dump(floatval($int1)); // float(123)
强制转换 : settype(变量, 类型)
$float1 = 0.00223;
settype($float1, 'int');
var_dump($float1); // int(0)