1.(boolean) (bool) 强转为布尔型//(boolean) (bool) 强转为布尔型
$a = 123;
var_dump((boolean)$a);//bool(true)
$a = 123.456;
var_dump((bool)$a);//bool(true)
$a = 'abcd';
var_dump((bool)$a);//bool(true)
$a = 0;
var_dump((bool)$a);//bool(false)
$a = 0.00;
var_dump((bool)$a);//bool(false)
$a = true;
var_dump((bool)$a);//bool(true)
$a = "0";
var_dump((bool)$a);//bool(false)
$a = "0.0";
var_dump((bool)$a);//bool(true)
$a = " ";
var_dump((bool)$a);//bool(true)
$a = "";
var_dump((bool)$a);//bool(false)
$a = null;
var_dump((bool)$a);//bool(false)
当转换为 boolean 时,以下值被认为是 FALSE:
◦ 布尔值 FALSE 本身
◦ 整型值 0(零)
◦ 浮点型值 0.0(零)
◦ 空字符串,以及字符串 "0"
◦ 不包括任何元素的数组
◦ 特殊类型 NULL(包括尚未赋值的变量)
◦ 从空标记生成的 SimpleXML 对象
2.(integer) (int)强转为整型
结果不进行四舍五入//(integer) (int)强转为整型
$b = 123.456;
var_dump((int)$b);//int(123)
$b = 123.789;
var_dump((int)$b);//int(123) 不进行四舍五入
$b = '123.456';
var_dump((int)$b);//int(123)
$b = '123abcd';
var_dump((int)$b);//int(123)
$b = 'abcd456';
var_dump((int)$b);//int(0)
$b = '000.123';
var_dump((int)$b);//int(0)
$b = true;
var_dump((int)$b);//int(1)
$b = false;
var_dump((int)$b);//int(0)
$b = 'false';
var_dump((int)$b);//int(0)
$b = 'true';
var_dump((int)$b);//int(0)
3.(float)强转为浮点型$c = 123;
var_dump((float)$c);//float(123)
$c = 123.456;
var_dump((float)$c);//float(123.456)
$c = "123.456";
var_dump((float)$c);//float(123.456)
$c = "123.456.789";
var_dump((float)$c);//float(123.456)
$c = "abcd3.14";
var_dump((float)$c);//float(0)
$c = ".3.14abcd";
var_dump((float)$c);//float(0.3)
$c = true;
var_dump((float)$c);//float(1)
$c = false;
var_dump((float)$c);//float(0)
4.(string)强转为字符串型$d = 123;
var_dump((string)$d);//string(3) "123"
$d = true;
var_dump((string)$d);//string(1) "1"
$d = false;
var_dump((string)$d);//string(0) ""
$d = '123.456789';
var_dump((string)$d);//string(10) "123.456789"