一、数据类转换
隐式转换
字符串转换
$a = "123"; //定义字符串 $b = 10; //定义整型 $c = $a+$b; echo $c; //返回结果133,php自动将$a转换为整型。
布尔转换整型
$aa = true; //定义布尔类型 $bb = 1; //定义整型 echo $aa+$bb; //返回2,php自动将$aa转换为整型1 //例子二 $cc = false; $dd = 1; eho $cc+$dd; //返回1,php自动将$cc转换为0或空 //例子三 $bl = ""; $num = 1; echo $bl+$num; //返回1,php自动将$bl转换为0或空
ps:布尔类型
true 转换 1
false 转换 0/0.0/""/"0"/null
字符串转换浮点型
$num1 = 3; $str = "3e+2"; //字符串 //echo $num1+$str; $sum1 = $num1+$str; var_dump($sum1); //浮点型
ps: 字符串带有e E 将转换成 float
字符串 数字字符串 将转换成 整数 或 float
显示转换 了解 人为控制
int float bool string array object
$str = "aaa123";
(类型名称)$str;
(float)$str;
$str = "123"; $fl = (float)$str; var_dump($a1);
二、运算符
1.点"."号连接符
$str ="abc"; $str1 = "def"; $str2 = $str.$str1; echo $str2; //返回abcdef
2.算数运算符 + - * / %(取余)
$num1 = 10; $num2 = 4; $num3 = $num1 % $num2; echo $num3;//返回2
3.赋值:= += -= /= %= .=
$n1 = 10; $n2 = 5; $n1+=$n2;//等价于$n1 = $n1+$n2 echo $n1."-----".$n2; //$n1为15,$n2为5
4.1自增 自减运算符 $i++ $i-- 先参加运算 在自身 加/减 1
$a = 5; $b = $a++;//$b=$a $a=$a+1 先把$a赋给$b,然后$a+1,返回结果$a为6,$b为5; echo $a."------".$b;//6,5
4.2自增 自减运算符 ++$i --$i 先自身 加/减 1 在参加运算
$a = 5; $b = ++$a;//$a自身加1,赋值给$b; echo $a."----".$b;//6,6
5比较运算符:> < >= <= == !====(全等) !==(不等)
表达式1 符号 表达式2 true/false
//==等于 $a = 8; $b = 8; echo $a==$b;//true/1 //===全等于 $a = "8"; $b = 8; echo $a===$b;//false/空(先比较数据类型,在比较值,两个同时为true返回true)
6逻辑运算:
&&(并) | 表达式1 && 表达式2 | 两个条件同时为true/false | 返回true/false | |
||(或) | 表达式1 && 表达式2 | 其中一条个为true/false | 返回true/false | |
!(取反) | !表达式 | 表达式为true | 返回false |
3 ==>!3; !正整数 !负整数 ===》false;
!0 ===》 true;
! 非空字符串 ==》 false
! "0" ==> true
!"0.0" ===>false;
7三目(三元)?:
表达式?真执行:假执行
$a = 3; $b = 5; $c = $a<$b?"a<b":"a>b"; echo $c;//返回a
8 位运算符: 了解
& | << >>
三、流程控制
1.if(){}else if(){}else{}
$wea = "雨天"; if($wea=="晴天"){ echo "散步"; }else if($wea=="雨天"){ echo "在家"; }else if($wea=="阴天"){ echo "睡觉"; }else{ echo "全都不是"; }
2.switch
switch(表达式 ){
case val:执行代码;break;
case val:执行代码;break;
case val:执行代码;break;
.......
default: 以上条件都不成立执行;break;
}
$e = "雨天"; switch($e){ case "晴天":echo "散步";break; case "雨天":echo "在家b";break; case "阴天":echo "睡眠";break; default:echo "no";break; }
ps:if switch区别:
if 语句 嵌套
switch() 不嵌套
四、字符集
header("content-type:text/html;charser=utf-8");//解决乱码,只对当前文件有用。