1樓:
php運算子優先順序(由低到高)
結合方向 運算子
左 ,
左 or
左 xor
左 and
右 print
右 = += -= *= /= .= %= &= |= ^= ~= <<= >>=
左 ? :
左 ||
左 &&
左 |
左 ^
左 &
無 == != === !==
無 < <= > >=
左 << >>
左 + - .
左 * / %
右 ! ~ ++ -- (int) (float) (string) (array) (object) @
右 [
無 new
由此表可以看到,-的優先順序最高,其次是》,最後才是?:,而?:是左結合的,所以true先在左式中使用,從而最終得到3
2樓:
10-3>2 為最高優先順序
相當於(10-3>2) ? 0 : true而後 0 ? 5 : 3
0在計算機中被認為flase 因此答案是3請給分,謝謝~
3樓:匿名使用者
三目運算子的優先順序是比較低的,正確的應該是juzelong630說的那樣
php中的運算子優先順序是什麼樣的
4樓:
樓上覆制貼上的什麼玩意兒?看這個吧,php的所有運算子優先順序文件都在這裡了:網頁連結,希望採納
php中的||和or,有什麼區別呢?優先順序一樣麼?
5樓:
if(asdfjklkj==sdfjlk or sadfl==sdfkjh)和if(asdfads==hgk || asdfsad==fghdfgh)
前者全文來字顯得正規,檔次,
自只是or混在其中不是bai很好找;
du後者||符號明zhi顯好找,易懂。
優先dao級順序是
&&||
andor
優先順序順序知道的人不多,老手也沒多少背下來的,因為他們都加(括號)。
6樓:匿名使用者
是運算子優先順序的問題,|| 和 or 和 = 這三種符號的優先順序是:
|| > = > or
php語言php語言裡的位運算子&、|、^ 、~、〈〈 、〉〉這些符號我一個也不懂,希望高手給個全面的解釋!拜
7樓:匿名使用者
"&" 按位與運算
按位與運算子"&"是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現。
例如:9&5可寫算式如下:
00001001 (9的二進位制補碼)
&00000101 (5的二進位制補碼)
00000001 (1的二進位制補碼)
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a&$b);
?>
"|" 按位或運算
按位或運算子「|」是雙目運算子。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有一個為1時,結果位就為1。參與運算的兩個數均以補碼出現。
例如:9|5可寫算式如下:
00001001
|00000101
00001101 (十進位制為13)可見9|5=13
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a|$b)."\n"; //二進位制
echo sprintf("%d", $a|$b)."\n"; //十進位制
"^" 按位異或運算
按位異或運算子「^」是雙目運算子。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現,例如9^5可寫成算式如下:
00001001
^00000101
00001100 (十進位制為12)
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a^$b)."\n"; //二進位制
echo sprintf("%d", $a^$b)."\n"; //十進位制
"~" 求反運算
求反運算子~為單目運算子,具有右結合性。其功能是對參與運算的數的各二進位按位求反。
例如~9的運算為:
~(0000000000001001)結果為:1111111111110110
<?php
$a = 9;
$b = 5;
echo sprintf("%b", ~$a)."\n"; //二進位制
"〈〈" 左移運算
左移運算子「<<」是雙目運算子。其功能把「<< 」左邊的運算數的各二進位全部左移若干位,由「<<」右邊的數指定移動的位數,高位丟棄,低位補0。
例如:a<<4
指把a的各二進位向左移動4位。如a=00000011(十進位制3),左移4位後為00110000(十進位制48)。
<?php
$a = 3;
$temp = $a<<4;
echo sprintf("%d", $temp)."\n"; //十進位制
「>>」 右移運算
右移運算子「>>」是雙目運算子。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。
例如:設 a=48,
a>>4
表示把00110000右移為00000011(十進位制3)。
應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定
<?php
$a = 48;
$temp = $a>>4;
echo sprintf("%d", $temp)."\n"; //十進位制
8樓:
各種語言都不全一樣的,我給你看看php的吧 能大概瞭解
章 15. 運算子
目錄運算子優先順序
算術運算子
賦值運算子
位運算子
比較運算子
錯誤控制運算子
執行運算子
遞增/遞減運算子
邏輯運算子
字串運算子
陣列運算子
型別運算子
運算子是可以通過給出的一或多個值(用程式設計行話來說,表示式)來產生另一個值(因而整個結構成為一個表示式)的東西。所以可以認為函式或任何會返回一個值(例如 print)的結構是運算子,而那些沒有返回值的(例如 echo)是別的東西。
有三種型別的運算子。第一種是一元運算子,只運算一個值,例如 !(取反運算子)或 ++(加一運算子)。
第二種是有限二元運算子,php 支援的大多數運算子都是這種。列表見下節運算子優先順序。
第三種是三元運算子:?:。它應該被用來根據一個表示式在另兩個表示式中選擇一個,而不是用來在兩個語句或者程式路線中選擇。把整個三元表示式放在擴號裡是個很好的主意。
運算子優先順序
運算子優先順序指定了兩個表示式繫結得有多「緊密」。例如,表示式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(「*」)的優先順序比加號(「+」)高。必要時可以用括號來強制改變優先順序。
例如:(1 + 5) * 3 的值為 18。如果運算子優先順序相同,則使用從左到右的左聯順序。
下表從高到低列出了運算子的優先順序。同一行中的運算子具有相同優先順序,此時它們的結合方向決定求值順序。
** 15-1. 運算子優先順序
結合方向 運算子 附加資訊
非結合 new new
左 [ array()
非結合 ++ -- 遞增/遞減運算子
非結合 ! ~ - (int) (float) (string) (array) (object) @ 型別
左 * / % 算數運算子
左 + - . 算數運算子和字串運算子
左 << >> 位運算子
非結合 < <= > >= 比較運算子
非結合 == != === !== 比較運算子
左 & 位運算子和引用
左 ^ 位運算子
左 | 位運算子
左 && 邏輯運算子
左 || 邏輯運算子
左 ? : 三元運算子
右 = += -= *= /= .= %= &= |= ^= <<= >>= 賦值運算子
左 and 邏輯運算子
左 xor 邏輯運算子
左 or 邏輯運算子
左 , 多處用到
左聯表示表示式從左向右求值,右聯相反。 例子 15-1. 結合方向
<?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。
9樓:匿名使用者
9999×2222+3333-3334
=(10000-1)×2222+(3333-3334)=10000×2222-2222+(-1)=22220000-2223
=22217777
在php中運算子優先順序的結合方向是什麼意思?
10樓:匿名使用者
說白了,就是運算子是從左向右算,還是從右向左算,特殊的是賦值的時候都是從右向左算的,別的記不清了...
php中字串的連線運算子是___ a - b + c & d .
11樓:匿名使用者
答案是:d
有兩個字串(string)運算子。第一個是連線運算子(「.」),它返回其左右引數連線後的字串。第二個是連線賦值運算子(「.=」),它將右邊引數附加到左邊的引數之後。
<?php
$a = "hello ";
$b = $a . "world!"; // now $b contains "hello world!"
$a = "hello ";
$a .= "world!"; // now $a contains "hello world!"
?>
12樓:陽光上的橋
選d,php連線字串使用小數點
13樓:匿名使用者
php中字串的連線運算子是 '.' 。(點)選d
php中的運算子優先順序是什麼樣的
樓上覆制貼上的什麼玩意兒?看這個吧,php的所有運算子優先順序文件都在這裡了 網頁連結,希望採納 php中的 和or,有什麼區別呢?優先順序一樣麼? if asdfjklkj sdfjlk or sadfl sdfkjh 和if asdfads hgk asdfsad fghdfgh 前者全文來字顯...
關於c 運算子優先順序的問題,C 中運算子優先順序的問題
運算子優先順序 在實際的開發中,可能在一個運算子 現多個運算子,那麼計算時,就按照優先順序級別的高低進行計算,級別高的運算子先運算,級別低的運算子後計算,具體運算子的優先順序見下表 運算子優先順序表 優先順序 運算子 結合性 1 從左到右 2 正 負 從右向左 3 從左向右 4 加 減 從左向右 5...
C 裡過載了的運算子是否還保持原來的優先順序別
c 還保持原來的優先順序別 袁方旭 規劃局規劃符合符合法規 堂糖卻 運算子過載的時候最好不要改變優先順序,容易混淆,而且可讀性也不好 過載並不能改變運算子的優先順序 要不然就亂套了 運算子過載的規則 1.友元運算子的引數規則與類成員運算子的引數規則不同,一員運算子必須顯式地宣告一個引數,二員運算子必...