自动类型转换和强制类型转换
- 自动类型转换, 顾名思义, 类型是自动转换的, 不予要额外的代码
- 强制类型转换, 需要使用代码, 有明显的转换过程
自动类型转换
$a = "1" + 123;
字符串连接符.
- 不同于js, php的字符串连接符为
.
其他类型转数字(自动类型转换)
echo 1 + true;
echo "\n";
echo 1 + false;
echo "\n";
echo 1 + null;
echo "\n";
echo 1 + "3king";
echo "\n";
echo 1 + '21a3b4c';
echo "\n";
echo 1 + '2a3b4c';
echo "\n";
echo 1 + '2e2a3b4c';
echo "\n";
echo 1 + 'true';
echo "\n";
echo 1 + array();
echo "\n";
echo 1 + fopen('1.txt','r+');
- 你能总结出什么规律?
- true => 1
- false => 0
- null => 0
- 非法字符串 => 0
- 合法字符串 => 一直取到非法的前一位
其他类型转字符串(自动类型转换)
echo '1'.true;
echo "\n";
echo '1'.false.'1';
echo "\n";
echo '1'.null.'1';
echo "\n";
echo '1'.array();
其他类型转布尔(自动类型转换)
- if判断会自动转换成布尔值
$dream = true;
if($dream){
echo '我在北京2环买一套小别墅';
}else{
echo '还是老老实实的Coding吧';
}
其他类型转布尔值有什么特点? 试举例说明...
自动类型转换的总结如下...

小练习
单选题
以下PHP代码片段,运算结果正确的是()(选择一项)
A echo 1+true; //输出结果为:1
B echo 1+false; //输出结果为:0
C echo 1+'2e4b5f'; //输出结果为:3
D echo 2+'hello'; //输出结果为:2