php教程
/*运算符号(PHP)操作符号
 *
 * 按运算符号功能分为:
 * 一、算术运算符   + - * / % ++ --
 * 二、字符串运算符 . 连接运算符
 * 三、赋值运算符   = += -= *= /= %= .=
 * 四、比较运算符   > =  !==
 *  比较运算符---条件运算符---关系运算符
 *  比较后的结果只有一种:boolean true false
 *  === 比较时不仅要求内容相同,也要求类型相同
 *  !== 比较时内容不相同,也要求类型不相同
 * 五、逻辑运算符   &&或and ||或or  !或not
 *  逻辑运算符只能操作bool型的值,返回的也是bool型的值
 * 六、位运算符     &  |  ^  ~  >  >>>
 * 七、其他运算符   ?  :  ``   @  =>  ->   ::  & $
 *  ``  用来执行操作系统内核
 *  @   用来屏蔽掉错误信息
 * 建议使用“()”改变表达式的优先级别
 *
 * % 有两个目的:整除运算;控制范围,不要用小数,也不要用负数
 * % 会吧运算符两边的数转为整数后再进行整除求余。
 */
 //用 %符号判断闰年
 
$year=2011;
if(($year%4==0 && %year%100!=0) || $year%400=0)
{
echo "run nian";
}
else
{
echo " not run nian";
}
 // ++  --符号的使用
 $a=10;
 $a++; //$a=$a+1; 先用变量,再自增1
 ++$a; //$a=$a+1; 先自增1,在用变量
 $a--; //$a=$a-1; 先用变量,再自减1
 --$a; //$a=$a-1; 先自减1,再用变量
 echo $a; //结果为10
 
 //++ -- 运算的区别
$a=10;
$b=$a++;//b=10,a=11
$c=--$b;//c=9,b=9
$d=$c++ + ++$c; //d=20,c=11
$e=$d-- - --$d; //d=18,e=2
echo $d;
 
 //字符串运算符 .   的使用
 $name="tom";
 $age=27;
 $.75;
 echo "我的名字是:{$name}我的年龄是:{$age}我的身高是:{$height}米
";
 echo '我的名字是:'.$name.'我的年龄是:'.$age.'我的身高是:'.$height.'米'.'
';
 echo "$age=".$age; //$age=27
 
  echo "我的名字是:{$name}我的年龄是:{$age}我的身高是:{$height}米
";//赋值运算符的使用
 
$a=10;
$a+=10; //$a=$a+10;
$a-=10; //$a=$a-10;
$a*=10; //...
$a/=10; //...
$a%=10; //$a=$a%10;
$a.="abc";//$a=$a."abc";
echo $a;
$str='';
';
$str.=''; ';
$str.=''; ';
$str.='
$str.='
$str.='
echo $str;//输出一个表格//比较运算符
var_dump(15>6);//返回 bool(true)
$a=15;
if(15==$a)
{
echo "a=15";
}
else
{
echo "a!=15";
}
//逻辑运算符的使用
var_dump(true && true);//true
var_dump(true && false);//false
var_dump(true || false);//true
var_dump(!true);//false
var_dump(!false);//true
//判断用户名密码
$username="admin";
$password="123456";
$email="[email protected]";
if($username=="admin" && $password="123456")
{
echo "用户名密码正确";
}
if($username=="" || $password=="" || $email=="")
{
echo "一个都不能为空";
}
//位运算符
 $a=20;  //00010100
 $b=30; // 00011110
 /*
  *   20  00010100
  *   30  00011110      &
  *-----------------------------------
  *  00010100
  * 
  */
 $c=$a & $b;
 echo $c;
 /*补充,&  |  也可以用做逻辑运算
  * &&和||的 短路问题:
  *  &&在作运算时,如果前面的数为false,则后面是否为true,整个表达式都为false,所以就不去执行后面的操作数;
  *  ||在作运算时,如果前面的数为true,则后面的数是否为false,整个表达式都为true,所以就不去执行后面的操作数;
  *  然而,& 或者 | 在作运算时,两边都会被执行
  */
 $a=10;
 if($a>5 || $a++
  echo $a;//输出10
 $b=10;
 if($b>5 | $b++
  echo $b;//输出11
 /*
位的概念:一个位是由8个二进制数组成的(例00000000),
 一个字节由8个位组成,那么就有32个二进制数。
原码:最高位 用0表示正数,1表示负数
+7  00000111
-7  10000111
反码:一个数如果为正,则它的反码与原码相同;
      一个数如果为负,则符号位为1,其余各位是对原码取反;
+7  00000111
-7  11111000
+0  00000000
-0  11111111
补码:一个数如果为正,则它的补码与反码与原码相同
      一个数如果为负,则它的补码=反码+1,去掉最高位的溢出位
      
      -7  原码 10000111  反码11111000
                                     +1
                           补码11111001
                           
已知一个负数的补码,把它转换为十进制数。
1.先对各位取反
2.将其转换为十进制数
3.加上负号,再减去1。
例:补码11111010
    取反00000101
             4+1=5
    -5-1=-6
    
位运算符:
& 按位与     |按位或    ^按位异或 ~按位取反
例:  按位与   01101101
              &00110111
               00100101
               结论:只有1 1为1。
      按位或   01101101
              |00110111
               01111111
               结论:只有0 0为0。
      按位异或 01101101
              ^00110111
               01011010
               结论:只有1 0或0 1时为1。(也可以理解为处于不同状态为1(真))
      按位取反 ~00110111
                11001000
                结论:将0变1,1变0
移位运算符:
 左移:>     无符号右移:>>>
 
 例:数   x         x>2     x>>>2
     17 00010001   01000100    00000100  00000100 
    -17 11101111   10111100    11111011  00111011
    结论:正数左右移动都补0,负数左移补0,带符号右移补1,不带符号补0
  
  
*/
 //其他运算符的运用
 $a=10;
 $b=$a>5 ? $a : 5;//三元运算符,如果成立$b=$a否则$b=5
 echo $b;
 
 //用``来执行操作系统shell命令
 $str=`ipconfig /all`;
 echo '
';';
echo $str;
echo '
?>
本部分列出了在 PHP 中使用的各种运算符:
算数运算符
| 运算符 | 说明 | 例子 | 结果 | 
|---|---|---|---|
| + | Addition | x=2 x+2  | 
            4 | 
| - | Subtraction | x=2 5-x  | 
            3 | 
| * | Multiplication | x=4 x*5  | 
            20 | 
| / | Division | 15/5 5/2  | 
            3 2.5  | 
        
| % | Modulus (division remainder) | 5%2 10%8 10%2  | 
            1 2 0  | 
        
| ++ | Increment | x=5 x++  | 
            x=6 | 
| -- | Decrement | x=5 x--  | 
            x=4 | 
赋值运算符
| 运算符 | 说明 | 例子 | 
|---|---|---|
| = | x=y | x=y | 
| += | x+=y | x=x+y | 
| -= | x-=y | x=x-y | 
| *= | x*=y | x=x*y | 
| /= | x/=y | x=x/y | 
| .= | x.=y | x=x.y | 
| %= | x%=y | x=x%y | 
比较运算符
| 运算符 | 说明 | 例子 | 
|---|---|---|
| == | is equal to | 5==8 returns false | 
| != | is not equal | 5!=8 returns true | 
| > | is greater than | 5>8 returns false | 
| is less than | 5 | |
| >= | is greater than or equal to | 5>=8 returns false | 
| is less than or equal to | 5 | 
逻辑运算符
| 运算符 | 说明 | 例子 | 
|---|---|---|
| && | and | x=6 y=3 (x 1) returns true  | 
        
| || | or | x=6 y=3 (x==5 || y==5) returns false  | 
        
| ! | not | x=6 y=3 !(x==y) returns true  |