復制代碼 代碼如下:
 
<?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; 
$height=1.75; 
echo "我的名字是:{$name}我的年齡是:{$age}我的身高是:{$height}米<br>"; 
echo '我的名字是:'.$name.'我的年齡是:'.$age.'我的身高是:'.$height.'米'.'<br>'; 
echo "/$age=".$age; //$age=27 
echo "我的名字是:{$name}我的年齡是:{$age}我的身高是:{$height}米<br>";//賦值運算符的使用 
$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='<table>'; 
$str.='<tr>'; 
$str.='<td>'; 
$str.='</td>'; 
$str.='</tr>'; 
$str.='</table>'; 
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="290080604@qq.com"; 
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++<100){} 
echo $a;//輸出10 
$b=10; 
if($b>5 | $b++<100){} 
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 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 '<pre>'; 
echo $str; 
echo '</pre>'; 
?> 
新聞熱點
疑難解答