php中運算子基本介紹_PHP教程

來源:互聯網
上載者:User
在php中我們常用的運算子包括有算數運算子、賦值運算子、比較子、邏輯運算子 等等下面我來給各位朋友介紹用法。

算數運算子

除法運算子總是返回浮點數。只有在下列情況例外:兩個運算元都是整數(或字串轉換成的整數)並且正好能整除,這時它返回一個整數。

模數運算子的運算元在運算之前都會轉換成整數(除去小數部分)。

Note: 模數 $a % $b 在 $a 為負值時的結果也是負值。

例:

代碼如下 複製代碼

/* tested under PHP 5.2.6-1 with Suhosin-Patch 0.9.6.2 (cli) on both i386 and amd64, Debian lenny/sid */
$a = 2863311530;
$b = 256;
$c = $a % $b;
echo "$c
n";
echo (2863311530 % 256)."
n"; /* directly with no variables, just to be sure */
?>

運算子 說明 例子 結果
+ 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

賦值運算子

基本的賦值運算子是“=”。一開始可能會以為它是“等於”,其實不是的。它實際上意味著把右邊運算式的值賦給左邊的運算數。

賦值運算運算式的值也就是所賦的值。也就是說,“$a = 3”的值是 3。這樣就可以做一些小技巧:

代碼如下 複製代碼

$a = ($b = 4) + 5; // $a 現在成了 9,而 $b 成了 4。

?>

在基本賦值運算子之外,還有適合於所有二元算術,數組集合和字串運算子的“組合運算子”,這樣可以在一個運算式中使用它的值並把運算式的結果賦給它,例如:

代碼如下 複製代碼

$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";

?>

注意賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個。這也適合於在很密集的迴圈中拷貝一些值例如大數組。也可以使用引用賦值,用 $var = &$othervar; 文法。引用賦值意味著兩個變數都指向同一個資料,沒有任何資料的拷貝。有關引用的更多資訊見引用的說明。在 PHP 5中,對象總是通過引用賦值的,除非明確使用新的 clone關鍵字

運算子 說明 例子
= 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

比較子

比較子,如同它們名稱所暗示的,允許對兩個值進行比較。如果比較一個整數和字串,則字串會被轉換為整數。如果比較兩個數字字串,則作為整數比較。此規則也適用於 switch 語句。

代碼如下 複製代碼

var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("1" == "1e0"); // 1 == 1 -> true
switch ("a") {
case 0:
echo "0";
break;
case "a": // never reached because "a" is already matched with 0
echo "a";
break;
}
?>

運算子 說明 例子
== 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<8 returns true
>= is greater than or equal to 5>=8 returns false
<= is less than or equal to 5<=8 returns true

邏輯運算子

“與”和“或”有兩種不同形式運算子的原因是它們運算的優先順序不同(見運算子優先順序)。

Example #1 邏輯運算子樣本

代碼如下 複製代碼

// 下面的 foo() 不會被調用,因為它們被運算子“短路”了。
$a = (false && foo());
$b = (true || foo());
$c = (false and foo());
$d = (true or foo());

// "||" 的優先順序比 "or" 高
$e = false || true; // $e 被賦值為 (false || true),結果為 true
$f = false or true; // $f 被賦值為 false [Altair註:"=" 的優先順序比 "or" 高]
var_dump($e, $f);

// "&&" 的優先順序比 "and" 高
$g = true && false; // $g 被賦值為 (true && false),結果為 false
$h = true and false; // $h 被賦值為 true [Altair註:"=" 的優先順序比 "and" 高]
var_dump($g, $h);
?>
以上常式的輸出類似於:

bool(true)
bool(false)
bool(false)
bool(true)

運算子 說明 例子
&& and x=6
y=3

(x < 10 && y > 1) returns true

|| or x=6
y=3

(x==5 || y==5) returns false

! not x=6
y=3

!(x==y) returns true

http://www.bkjia.com/PHPjc/628919.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628919.htmlTechArticle在php中我們常用的運算子包括有算數運算子、賦值運算子、比較子、邏輯運算子 等等下面我來給各位朋友介紹用法。 算數運算子 除法...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.