1. 运算符分为:
算术运算符 +、-、*、/、%、 ++、--
比较运算符 ==、===、!= or <>、<、>、<=、>=、?:
逻辑运算符 &&、||、!、and、or、xor
位运算符 &、|、^、~、<<、>>、>>>(>>>貌似通不过运行)
赋值运算符 +=、-=、*=、/=、%=
其它运算符 .、.=
2. 重点举例:
取余与分子符号相关。
不要用浮点数取余数,小数没意义。
==与===:前者需要转换类型再比较,后者默认类型一致再比较:
if("100"==100)
{
echo "1111111";
}else
{
echo "0000000";
}
结果是1111111
if("100"===100)
{
echo "1111111";
}else
{
echo "0000000";
}
结果是0000000
位运算符:
9&5 => 00001001&00000101 => 00000001 即9的二进制补码和5的二进制补码按位与的结果为1
9|5 => 00001001|00000101 => 00001101 即9的二进制补码和5的二进制补码按位或的结果为13
9^5 => 00001001^00000101 => 00001100 即9的二进制补码和5的二进制补码按位异或的结果为12
~9 => ~(0000000000001001) => 1111111111110110 即9求反运算的结果为-10.
点运算符起到连接两个字符串的作用:
$a='abc'."xyz"."ijk"."123";// 结果abcxyzijk123
算术运算符 +、-、*、/、%、 ++、--
比较运算符 ==、===、!= or <>、<、>、<=、>=、?:
逻辑运算符 &&、||、!、and、or、xor
位运算符 &、|、^、~、<<、>>、>>>(>>>貌似通不过运行)
赋值运算符 +=、-=、*=、/=、%=
其它运算符 .、.=
2. 重点举例:
取余与分子符号相关。
不要用浮点数取余数,小数没意义。
==与===:前者需要转换类型再比较,后者默认类型一致再比较:
if("100"==100)
{
echo "1111111";
}else
{
echo "0000000";
}
结果是1111111
if("100"===100)
{
echo "1111111";
}else
{
echo "0000000";
}
结果是0000000
位运算符:
9&5 => 00001001&00000101 => 00000001 即9的二进制补码和5的二进制补码按位与的结果为1
9|5 => 00001001|00000101 => 00001101 即9的二进制补码和5的二进制补码按位或的结果为13
9^5 => 00001001^00000101 => 00001100 即9的二进制补码和5的二进制补码按位异或的结果为12
~9 => ~(0000000000001001) => 1111111111110110 即9求反运算的结果为-10.
点运算符起到连接两个字符串的作用:
$a='abc'."xyz"."ijk"."123";// 结果abcxyzijk123