php的或運算
『壹』 php小白 請問與 或 異或 取反是什麼意思
這些是數學邏輯運算,並不是PHP才有,這里涉及到一個布爾型數據類型的含義(真則為1,假則為0)
舉個例子,假設有條件a和條件b
與關系:變數$c = $a &&$ b,只有$a與$b兩個條件都滿足時($a為真,判斷結果等於1;且$b為真,判斷結果等於1),c才為真($c = 1),否則c為假($c = 0)
或關系:變數$c = $a ||$ b,只要$a或者$b有其中一個滿足時($a真$b假,$a假$b真,$a真$b真),$c為真
異或關系:變數$c = $a ^ $b,只要$a、$b條件判斷結果不同($a真$b假,$a假$b真),則$c為真
取反:$c = !$a,當條件$a為真($a = 1)則$c = 0;$a為假($a = 0)則$c = 1;
『貳』 在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中 且&amp;、或 -、非 ^ 3個符號的意思
&:這個符號叫「與」,表示左右兩邊的操作數都為「真」時才為「真」,口訣是真真為真,真假為假,假真為假,假假為假;
||:這個符號叫「或」,表示左右兩邊的操作數只要有一個為「真」時就為「真」,口訣是真真為真,真假為真,假真為真,假假為假;
^:這個符號叫「非」,表示將右邊的操作數從「真」變成「假(非真)」的結果,從「假」變成「真(非假)」的結果。
特性
PHP的特性包括:
PHP 獨特的語法混合了 C、Java、Perl 以及 PHP [8]自創新的語法。
PHP安裝它可以比 CGI或者Perl更快速的執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現,
而且支持幾乎所有流行的資料庫以及操作系統。最重要的是PHP可以用C、C++進行程序的擴展!
這三個運算符不是同一種運算符,&和^屬於位運算符,||屬於邏輯運算符,|屬於位運算符,&即按位與 ,把$a和$b中都為1的位設為1,否則為0,用於二進制的位運算。邏輯運算符||,同為假才是假,否則為真。^相同則為0,不同則為1,同樣用於二進制的位運算
在PHP中,&&與and都表示邏輯與,||與or都表示邏輯或,並且它們都是短路運算符。而它們的區別在於運算的優先順序不同。因為運算符and、=、&&的優先順序為&&>=>and。運算符or、=、||的優先順序為||>=>or。
『肆』 php中&&和||的用法 這樣用什麼意思
a && b === if(a) { b },&&是同時必須滿足的意思。a || b === if(!a) { b },||是或者的意思。
$ckfid&&$rs=$db->get_one("SELECT * FROM $table WHERE fid='$ckfid'");
其實這句話相當於只有當$ckfid不為空的時候才執行後面的也就是約等於。
if($ckfid) {
$rs=$db->get_one("SELECT * FROM $table WHERE fid='$ckfid'");}
而底下的||,則相當於$rs[name]為空的時候才執行,因為當$rs[name]不為空的時候,這個條件已經滿足了,後邊也不用再做任何判斷了。只有不滿足的時候,才去做後面的操作。
(4)php的或運算擴展閱讀:
PHP的特性包括:
1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3. PHP支持幾乎所有流行的資料庫以及操作系統。
4. 最重要的是PHP可以用C、C++進行程序的擴展!
PHP版本VC6與VC9、Thread Safe與None-Thread Safe等的區別。PHP的大版本主要分三支:PHP4/PHP5/PHP6,其中,PHP4由於太古老、對QQ支持不力已基本被淘汰,請無視PHP4。
PHP6由於基本沒有生產線上的應用,還基本只是一款概念產品,很多功能已在PHP5.3.3上實現,所以也不詳述,請無視PHP6。PHP5的版本主要分四支:PHP5.2之前的版本、PHP5.2.X、PHP5.3和日前發布的PHP5.4。
選擇版本,PHP5.2之前的版本不值得考慮,因為某些功能缺陷或者BUG。PHP5.4還處於Beta試用的版本號,非穩定版本,請無視PHP5.4。
主流PHP程序對PHP5.2.X的兼容性最好,而每次版本號的升級帶來的都是安全性和穩定性的改善,所以宜挑選最新的版本。目前PHP5.2系列最新的是PHP5.2.17。
『伍』 PHP運算符的邏輯運算符
PHP 中的邏輯運算符有與、或、異或、非 4 種。其中的邏輯與和邏輯或有兩種表現形式。
『陸』 php中&&和and有什麼區別
從執行效果上看 沒有區別~~
只是 程序一般講究得是一致性 前面用== 那麼我覺得後面用&& 我個人覺得要好看些
呵呵 僅僅是個人意見~~
『柒』 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中「||」是什麼意思
or 的意思, 或者
if($a==1||$a==0) //a =1或前逗者a=0時陸李列印OK
{
echo 'ok';
}
邏輯運算早悔遲符,
『玖』 php中&&與&有什麼區別
PHP中&&與&的區別:
1、運算符性質的區別
&&在PHP中是一個邏輯操作符,也叫條件操作符。
&是邏輯語言,邏輯上表示兩者屬於缺一不可的關系,還可以表示一個人和另外一個人之意,與and同義。如A&B,表示A與B,A和B,A×B。
2、作用上的區別
&&就是判斷兩個表達式的真假性,只有兩個表達式同時為真才為真,有一個為假則為假,具有短路性質。
&是將兩個二進制的數逐位相與,結果是相與之後的結果。
3、用途上的區別
&&:x&&y——功能描述: 「條件與」:x和y均為true,取值是true,否則取值是false。&&需要兩個操作數的值都是true時,才取值true,但是兩個操作符還是有區別的:使用方法是int&& rx=x。
&:是一個位運算符。參加運算的兩個數的二進制形式,每一個二進制位進行」與「運算,最後的結果二進製作為結果,例如:3 & 5=1,因為3和5的二進制分別是0011、0101,兩個進行與運算的結果是0001。
『拾』 PHP中的邏輯運算符(or、and),還有(||、and)之間的優先順序是什麼,麻煩大家把這四個排序下,還有看下面程序
第二個結果有點出乎意料,or 與 || and與&& 是對應的。優先順序and或&& 比or 與 || 高。我想很少人會操作關鍵字與關鍵符混合來用的。你如果將 if($i||$j and $z) 改為if($i||$j && $z) 這個邏輯就正確了,結果為 true true 。