一、算术运算符 + - * / % ++ --
<?php
$a = 100;
$a++; // $a=$a+1; 先用变量再自增1
++$a; // $a=$a+1; 先用自增1再用变量
$a--; // $a=$a-1; 先用变量再自减1
--$a; // $a=$a-1; 先用自减1再用变量
echo "a = ".$a."<br>"; // 100 $b = $a % 3.3; // % 会把两边的数转为整数后再进行整除
echo "b = ".$b;
?>
二、字符串运算符 .
<?php
$name = "tom";
$age = 27;
$height = 1.75; echo "我的名字是:{$name} 我的年龄是:{$age} 我的身高是:{$height}米<br>";
echo '我的名字是:' . $name . ' 我的年龄是:' . $age . ' 我的身高是:' . $height . '米' . '<br>';
echo '我的名字是:' , $name , ' 我的年龄是:' , $age , ' 我的身高是:' , $height , '米' , '<br>';
?>
三、赋值运算符 = += -= *= /= %= .=
<?php
$a = 10;
$a += 10; // $a = $a + 10;
$a -= 10; // $a = $a - 10;
$a *= 10; // $a = $a * 10;
$a /= 10; // $a = $a / 10;
$a %= 10; // $a = $a % 10;
$a .= "abc"; // $a = $a . "abc";
?>
四、比較运算符 > < >= <= == === != 或<> !==
<?php
/**
=== 比較时不仅要求内容同样,也要求类型同样
!== 比較时不仅要求内容不同样,也要求类型不同样
**/
$a = 100;
if ($a === "100") {
echo "111111111111111";
} else {
echo "000000000000000";
}
?>
五、逻辑运算符 && 或and ||或 or ! 或not
<?php
// 逻辑运算符仅仅能操作bool型值, 返回的也是bool型值
// 与Java一样&&和||也有短路的问题 var_dump(true && true); // true
var_dump(true and false); // false
var_dump(true || false); // true
var_dump(true or false); // true
var_dump(!false); // true
?>
六、位运算符 & | ^ ~ << >> >>>
<?php
/***************************************************************
* 20 000000000 00000000 000000000 00010100
* 30 000000000 00000000 000000000 00011110 &
* ------------------------------------------------------------
* 000000000 00000000 000000000 00010100 20
***************************************************************/ $a = 20; // 16+4 00010100
$b = 30; // 16+8+4+2 00011110
$c = $a & $b;
echo $c . "<br>"; // 20 /***************************************************************
* 20 000000000 00000000 000000000 00010100
* 30 000000000 00000000 000000000 00011110 |
* ------------------------------------------------------------
* 000000000 00000000 000000000 00011110 30
***************************************************************/ $a=20; // 16+4 00010100
$b=30; // 16+8+4+2 00011110
$c= $a | $b;
echo $c . "<br>"; // 30 /***************************************************************
* 20 000000000 00000000 000000000 00010100
* 30 000000000 00000000 000000000 00011110 ^
* ------------------------------------------------------------
* 000000000 00000000 000000000 00001010 10
***************************************************************/ $a = 20; // 16+4 00010100
$b = 30; // 16+8+4+2 00011110
$c = $a ^ $b;
echo $c . "<br>"; // 10 $c = ~$a ;
echo $c . "<br>"; // -21 /***************************************************************
* 00000000 00000000 000000000 000101 >> 2
* 00000000 00000000 000000000 0001010000 << 2
***************************************************************/
$c = $a << 2 ;
echo $c . "<br>"; // 80
?>
七、其它运算符 ? : `` @ => -> :: & $
<?php
// 三目运算符
$a = 10;
$b = $a > 50 ? $a : 5;
echo $b; // 运行系统命令
$str=`ipconfig /all`;
echo '<pre>';
echo $str;
echo '</pre>'; // 隐藏异常信息
@getType();
echo "##############<br>";
?>