運算符php
① 在php中【邏輯運算符】和【位運算符】有什麼本質的區別
這個很難細說,不過和C語言中的邏輯運算符和位運算符是一樣區別的
下面給個參考(摘至某人博客):
一、邏輯運算符:
包括:1。&&邏輯與 2。||邏輯或 3。!邏輯非
邏輯運算符用於對包含關系運算符的表達式進行合並或取非
對於使用邏輯運算符的表達式,返回0表示「假」,返回1表示「真」。關於邏輯運算符的解釋
請注意:任何使用兩個字元做符號的運算符,兩字元之間不應有空格,即將==寫成= =是錯誤的。
假設一個程序在同時滿足條件a<10和b==7時,必須執行某些操作。應使用關系運算符和邏輯運算符「與」來寫這個
條件的代碼。用&&表示「與」運算符,該條件代碼如下:
(a<10) && (b==7);
類似地,「或」是用於檢查兩個條件中是否有一個為真的運算符。它由兩個連續的管道符號(||)表示。如果上例
改為:如果任一語句為真,則程序需執行某些操作,則條件代碼如下:
(a<10) || (b==7);
第三個邏輯運算符「非」用一個感嘆號(!)表示。這個運算符對表達式的真值取反。例如,如果變數s小於10,程序
程序需執行某些操作,則條件代碼如下:
(s<10)
或
(!(s>=10)) //s不大於等於10
關系運算符和邏輯運算符的優先順序一般都低於算術運算符。例如,5>4+3的計算與5>(4+3)運算符是一樣的,即
先計算4+3,再執行關系運算。此表達示的結果為「假」,即,將返回0。
下面的語句
printf("%d",5>4+3);
將輸出 0
可以總結為:&&的結果是真真為真。||的結果是假假為假。
二、位運算符:
包括:1。&位與符 2。|位或符 3。^位異或符 4。~位取反符
以操作數12為例。位運算符將數字12視為1100。位運算符將操作數視為位而不是數值。數值
可以是任意進制的:十進制、八進制或十六進制。位運算符則將操作數轉化為二進制,並相應地返回1或0。
位運算符將數字視為二進制值,並按位進行相應運算,運算完成後再重新轉換為數字。例如:
表達式10&15表示(1010 & 1111),它將返回表示1010的值10。因為真真得真,或者是11得1,同位全是1結果也是1
表達式10|15表示(1010 | 1111),它將返回表示1111的值15。假假得假。全零得零。
表達式10^15表示(1010 ^ 1111), 它將返回表示0101的值5。此時是同性相斥,相同的就為假。
表達式~10表示(~1010),它將返回表示0101的值 -11。此號好理解,按位取反
② PHP中:什麼意思
PHP中「?:」指的是三目運算符。
三目運算符,又稱條件運算符,是計算機語言的重要組成部分。它是唯一有3個操作數的運算符,所以有時又稱為三元運算符。
一般來說,三目運算符的結合性是右結合的。三目運算符提供了一種表達簡單 if-else 語句的簡寫方法。該運算符由問號(?)和冒號(:)組成,其格式如下:表達式 ? 表達式 : 表達式 ;語句被稱為條件表達式,它由 3 個子表達式組成,使用問號 ? 和冒號 : 分隔。問號前面的條件表達式的部分是要測試的條件。這就像 if 語句的括弧中的表達式。如果條件是真的,則執行 ? 和 : 之間的語句;否則,執行 : 之後的部分。如果認為有幫助,可以在子表達式周圍放置圓括弧。
③ .=在php中是什麼意思,
一、=>,->的意思:
->是對象執行方法或取得屬性用的。
=>是數組里鍵和值對應用的。
二、用法
1、=> 的用法數組中用於數組的key和value之間的關系例如:
$a=array('0'=>'1','2'=>'4',);echo$a['0'];echo$a['2'];
2、-> 的用法類中用於引用類實例的方法和屬性例如:
classTest{functionadd(){return$this->var++;}var$var=0;}$a=newTest;
//實例化對象名稱
echo$a->add();echo$a->var;
(3)運算符php擴展閱讀
PHP中->代碼如下:
<?php
class Car {
public $speed = 0;
//增加speedUp方法,使speed加10
public function speedUp(){
$this->speed+=10;
}
}
$car = new Car();
$car->speedUp();
echo $car->speed;
?>
PHP中=>代碼如下:
<?php
//從數組變數$arr中,讀取鍵為apple的值
$arr = array('apple'=>"蘋果",'banana'=>"香蕉",'pineapple'=>"菠蘿");
$arr0=$arr["apple"];
if( isset($arr0) )
{print_r($arr0);
}
?>
④ php 中的:是什麼意思啊
PHP中「?:」指的是三目運算符。
三目運算符,也稱為條件運算符,它是計算機語言的重要組成部分。它是唯一具有3個操作數的運算符,因此有時稱為三元運算符。通常,三目運算元春臘桐的組合是扒坦右邊界。
三目運算符提供了一種表達簡單if-else語句的簡便方法。運算符由以下格式的問號(?)和冒號(:)組成:表達式?表達式:表達式;一條語句稱為條件表達式,由3個子表達式組成,並使用問號?和冒號:分開。
條件表達式中問號之前的部分是要測試的條件。這就像if語句括弧中的表達式。如果條件為真,則執行?之間的語句。和:;否則,執行以下部分。如果您認為有幫助,可以在子表達式兩邊加上括弧
(4)運算符php擴展閱讀:
<php>函數的操作規則
1、對於條件表達式b? x:y,首先計算局笑條件b,然後判斷。如果b的值為true,則計算x的值,並且運算的結果為x的值;否則,計算出y的值,並且運算的結果是y的值。
2、條件表達式永遠不會同時計算x和y。條件運算符是右關聯的,即從右到左分組。例如,一個? b:c? d:e將被執行為? b:(c→d:e)。
3、可以理解為:條件?結果1:結果2,在裡面?該數字是格式要求。也可以理解為條件是否為真,條件成立為結果1,否則為結果2。
⑤ php中的運算符優先順序是什麼樣的
下表按照優先順序從高到低列出了運算符。同一行中的運算符具有相同優先順序,此時它們的結合方向決定求值順序。
運算符優先順序
結合方向
運算符
附加信息
無
clone new
clone 和 new
左
[
array()
右
**
算術運算符
右
++
--
~
(int)
(float)
(string)
(array)
(object)
(bool)
@
類型和遞增/遞減
無
instanceof
類型
右
!
邏輯運算符
左
*
/
%
算術運算符
左
+
-
.
算術運算符和字元串運算符
左
<<
>>
位運算符
無
<
<=
>
>=
比較運算符
無
==
!=
===
!==
<>
<=>
比較運算符
左
&
位運算符和引用
左
^
位運算符
左
|
位運算符
左
&&
邏輯運算符
左
||
邏輯運算符
左
??
比較運算符
左
? :
ternary
right
=
+=
-=
*=
**=
/=
.=
%=
&=
|=
^=
<<=
>>=
賦值運算符
左
and
邏輯運算符
左
xor
邏輯運算符
左
or
邏輯運算符
Example #1 結合方向
<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
// ternary operator associativity differs from C/C++
$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
?>
Operator precedence and associativity only determine how expressions
are grouped, they do not specify an order of evaluation. PHP does not
(in the general case) specify in which order an expression is evaluated
and code that assumes a specific order of evaluation should be avoided,
because the behavior can change between versions of PHP or depending on
the surrounding code.
Example #2 Undefined order of evaluation
<?php
$a = 1;
echo $a + $a++; // may print either 2 or 3
$i = 1;
$array[$i] = $i++; // may set either index 1 or 2
?>
Note:
盡管 = 比其它大多數的運算符的優先順序低,PHP
仍舊允許類似如下的表達式:if (!$a = foo()),在此例中
foo() 的返回值被賦給了 $a。
⑥ PHP語言PHP語言里的位運算符&、|、^ 、~、〈〈 、〉〉這些符號我一個也不懂,希望高手給個全面的解釋!拜
"&" 按位與運算
按位與運算符"&"是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為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"; //十進制
⑦ php中的運算符有哪些
A選項,看下圖:
不用全部記住,記住平時比較常用的就行了,還有記住:算術運算符>關系運算符>邏輯運算符>賦值運算符。
(7)運算符php擴展閱讀:
PHP 中的運算符分為:四則運算符、邏輯運算符、三目運算符和位運算符。
運算符優先順序指定了兩個表達式綁定得有多「緊密」。例如,表達式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(「*」)的優先順序比加號(「+」)高。
必要時可握棗以用括弧來強制改變優先順序。例如:(1 + 5) * 3 的值為 18。如果運算符優先順序相同,則使用從左到右的左聯順序。
對字元串和數字進褲皮慎行加胡敬法運算。
請看這些例子:
x = 5 + 5; document.write(x); x = "5" + "5"; document.write(x); x = 5 + "5"; document.write(x); x = "5" + 5; document.write(x)。
x = 5 + 5; document.write(x); x = "5" + "5"; document.write(x); x = 5 + "5"; document.write(x); x = "5" + 5; document.write(x)。