php運算子優先順序
運算子優先順序指定了兩個表示式繫結得有多“緊密”。例如,表示式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(“*”)的優先順序比加號(“+”)高。必要時可以用括號來強制改變優先順序。例如:(1 + 5) * 3 的值為 18。如果運算子優先順序相同,則使用從左到右的左聯順序。
下表從高到低列出了運算子的優先順序。同一行中的運算子具有相同優先順序,此時它們的結合方向決定求值順序。
- <?php
- $a = 3 * 3 % 5; // (3 * 3) % 5 = 4
- $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2
- $a = 1;
- $b = 2;
- $a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
- ?>
使用括號可以增強程式碼的可讀性。
儘管 = 比其它大多數的運算子的優先順序低,PHP 仍舊允許類似如下的表示式:if (!$a = foo()),在此例中 foo() 的返回值被賦給了 $a。
詳細見:http://www.php.net/manual/zh/language.operators.precedence.php
博主laoqin2010發現了一個關於php賦值運算子優先順序的問題(一併學習了):
正解如下:
以後一定要多回過頭來複習下基礎知識。
本文轉自許琴 51CTO部落格,原文連結:http://blog.51cto.com/xuqin/1114232,如需轉載請自行聯絡原作者
相關文章
- java運算子優先順序Java
- Python 運算子優先順序 運算子Python
- python運算子及優先順序順序Python
- C++運算子優先順序C++
- C 語言運算子優先順序
- C語言運算子優先順序C語言
- JS與&& 或||運算子 優先順序JS
- C++運算子優先順序特例C++
- C++ 運算子優先順序表C++
- 介紹python中運算子優先順序Python
- java字串連線和運算子優先順序Java字串
- JavaScript陰溝裡翻船之運算子優先順序JavaScript
- Like Sunday, Like Rain - JavaScript運算子優先順序AIJavaScript
- 各類運算子和計算方法,優先順序
- ORACLE中sql語句----運算子的優先順序OracleSQL
- oracle plsql儲存過程_運算子優先順序OracleSQL儲存過程
- VBA運算子的型別及優先順序(轉)型別
- C語言常被搞錯的運算子優先順序C語言
- Java常見知識點彙總(⑤)——運算子優先順序Java
- lodash原始碼分析之baseFindIndex中的運算子優先順序原始碼Index
- [java基礎] 之 表示式和運算子的優先順序Java
- C++ 運算子優先順序列表C++
- 程式設計答疑:記不住運算子優先順序怎麼辦?程式設計
- 面試題:物件的儲存形式 和 . 運算子的優先順序面試題物件
- Solidity語言學習筆記————8、運算子優先順序Solid筆記
- javascript基礎(賦值運算子,關係運算子,相等運算子,三元運算子,運算子的優先順序,程式碼塊)(十)JavaScript賦值
- 運算子的關係,什麼叫一元運算子,二元運算子,三元運算子,運算子優先順序,以及運算子的
- 如果你不懂js運算子優先順序,那絕對不是js高手。JS
- CSS優先順序CSS
- js運算子優先順序及賦值運算var a = {n:1};var b = a;a.x = a = {n:2};JS賦值
- 中斷優先順序
- C語言運算子優先順序列表(超詳細)C語言
- [JAVA] 不僅有Java運算子,更有優先順序講解,可以說很詳細了Java
- Android程式優先順序Android
- SQL 優先順序join>whereSQL
- nginx快取優先順序Nginx快取
- css優先順序彙總CSS
- JavaScript運算子及優先順序全攻略,點選立刻升級你的程式設計水平!JavaScript程式設計