標籤:
昨天我們學習了關於常量和資料類型的相關知識,因為前期的知識都是想對比較簡單的,所以有些小的細節要學會注意,時刻要提醒自己要細心。
今天主要學習的是運算子和流程式控制制,內容相對比較簡單,但也要學會注意細節。
一、php中常見的運算子
在php中的運算子基本上是跟js差不多的,其運行原理也是一樣。
1.算數運算子
在平常的運算中,我們經常使用算數運算子,可以對資料進行簡單的數值運算,這些運算子叫做算數運算子。
算數運算子:+,-,*,/,%,++,--
其中以上這些運算有一定的可以對資料類型進行隱形轉換:
$i="1"+"1"; // 2$i="1"+1; // 2$i="1a"+1; // 2$i="1abd"+1; // 2$i="abs"+1; // 1//剩餘其他幾個的也是有同樣的功能
運算子中值得注意的是++和--兩種:
++i;如果單行存在,則就是加+1,如果在其他語句中出現參加運算,則先自加1再運算;
i++;如果單行存在,則就是加+1,如果在其他語句中出現參加運算,則先運算再自加1;
--i; 同++i的道理相同;
i--; 同i++的道理相同;
2.字串運算子
常見的字串運算子是用來對字串進行操作的最長用到的是:
.和.=
其主要的作用就是來連接字串用的。
3.賦值運算子
常見的賦值運算子有以下幾種:
=,+=,-=,*=,/=,%=
這類運算子主要的作用就是給變數賦值或者進行運算時用到。因為在js中學過,這裡就不深入記載。
4.比較子
常見的比較子是以下幾種
>,<,>=,<=,==,!=,===,!==
主要是判斷運算子兩邊的大小關係,返回的是布爾值,主要用在判斷語句中。
其中值得注意的是運算子兩邊如果有布爾值的話,則會優先轉化為布爾值進行比較,如果沒有布爾值,則以數值型,最後比較是字串。
另外浮點數最好不要參與比較運算。
true>1; // => true>ture; 結果 falsetrue>"a"; // => true>ture; 結果 falsetrue>""; // => true>false; 結果 true"2">1; // => 2>1; 結果 true"3ab">1; // => 3>1; 結果 true//其他的比較子也是同樣的道理
5.邏輯運算子
邏輯運算子有三個:
&& || !
主要是進行邏輯運算的。
$a && $b $a與$b同時為true本式才為真。另$a為真,才會運行$b.
$a || $b $a與$b至少有一個為真本式才為真。另$a為假,才會運行$b.
!$a $a為真,則整個式子為假。
另外注意的是:在條件判斷中&&、||運算子前面放簡單運算後面放複雜的運算,可以提高效能。
6.三元運算子
又稱條件運算子:
其原理是與if語句相同的,條件為真,則執行結果一,條件為假,則執行結果二。可以代替條件陳述式使用。
7.位元運算符
常用的位元運算符有以下幾種
&:按位與
|:按位或
~:按位取反
^:按位異或
$n2<<m:按位左移
位元運算符在php中最常用的一種方式是來管理一組事物的開關狀態。
1.通過一個變數,可以獲知任何一個資料的目前狀態。
2.通過一個變數,可以將一個一個資料的狀態“開啟”或”關閉“。
8.數組運算子
下面兩張圖就會明白
9.錯誤控制運算子
錯誤控制運算子就只有一個:
@
通常是用在一個地方的:$link = @mysql_connect(),防止瀏覽器報錯而流露資訊。
二、運算子的優先順序
關於運算子的優先順序的問題
相對而言,今天的知識是比較簡單的,細心掌握好細節就OK了。
php學習day5--運算子的基本知識