PHP的运算符号
算数运算符
在其他语言中(非PHP),+号除了有加法的作用,还有连接字符串的功能。
echo 1+1+"4+5+6"+1+1;//8
PHP中的%是将小数转为整数再求模,符号取被除数的符号
echo 13.342%2.342;//1
++ 、--
$a = 5;
$a++ 先用再加
++$a 先加再用
$b = $a++ + ++$a;
echo $b;//12
echo $a;//7
BOOl值真值显示1,假值显示空,++,--无意义
字符串的++就是升序,--减序
$a = "a";
$a++;//"b"
$a++;//"c"
赋值运算
着重强调 .= 起连接作用
$a = 5;
echo '这个变量的值:'.$a.'<br>';
echo "这个变量的值:{$a}<br>";
echo "这个变量的值:",$a,"<br>";
//这个变量的值:5
$a = "hello";
$a.="world";
比较运算符
着重强调:=== 、!==
==:比较的是值
===:全等于,两边值相等且类型相等时返回true,否则false
!==:非全等于,两边值与类型都相同时返回false,否则true
逻辑运算符
着重强调:逻辑异或 xor
两边操作数只有一个为true时,返回true,否则返回false。都为真或都为假都不属于,该类型属于或的子集
特性
短路:在与类型中,如果第一个条件不成立,第二个就不用执行,在或类型中,第一个成立,第二个不执行
die("退出并打印输出")
$a = 0;
$b = 0;
if($a=3 || $b = 3){//逻辑符高于赋值,所以先算3||$b,a=true
$a++;
$b++;
}
echo $a.",".$b; //1,1
位运算符
&,没有短路情况,两边换算的是整数或浮点数。&&,一般两边是Bool值。
位运算比较
12&13
12 = 8+4;
13 =8+4+1;
00000000 00000000 00000000 00001100
00000000 00000000 00000000 00001101 &
----------------------------------------------------------
00000000 00000000 00000000 00001100
结果仍为12
‘A’& ‘a'
A:65 = 64+1 1000001
a:97 =64+32+1 1100001 &
-------------------------------------
1000001
输出结果仍为A
var_dump('A' & 97) 类型自动转换,‘A’转换为0,结果也0
其他运算符