1樓:du瓶邪
例子:!defined('magic_quotes_gpc') && define('magic_quotes_gpc', get_magic_quotes_gpc());
運算子都沒有判斷就那樣寫什麼意思,哎,原來如果前面的為假。
後面的語句就不執行了。
//簡單說明,前面的判斷為假後面的則不執行,如果是真,繼續執行下面的定義常量操作。
邏輯運算子
$a and $b and(邏輯與) true,如果 $a 與 $b 都為 true。
$a or $b or(邏輯或) true,如果 $a 或 $b 任一為 true。
$a xor $b xor(邏輯異或) true,如果 $a 或 $b 任一為 true,但不同時是。
! $a not(邏輯非) true,如果 $a 不為 true。
$a && $b and(邏輯與) true,如果 $a 與 $b 都為 true。
$a || $b or(邏輯或) true,如果 $a 或 $b 任一為 true。
2樓:指南星計算機科技公司
&表示引用,php一般有3類用法
1、一般放在變數得前面的時候 表示 變數的別名,如 $b=&$a; b是a的別名,就是同一個變數兩個名字,一個變化另一個跟著變化,放在函式傳遞引數也一樣表示傳遞的是引用,而不是複製的值。
2、放在函式前面 ,就是函式返回一個引用的值,普通函式通常返回的是一個副本的值;
3、放在類的例項化前面,就像你給得例子中 $t不是一個物件,而是物件的引用。
一般這樣的情況下,是exampleclass的建構函式中返回一個全域性或某個作用域下的物件,所以需要例項化一個物件的引用。
3樓:
引用傳遞引數的時候就要用到了,沒有c語言裡面的強大,平時沒什麼作用的。
4樓:班丘蘭蕙
你可以參考下c語言中的指標,功能幾乎一模一樣。
在php中【邏輯運算子】和【位運算子】有什麼本質的區別?
5樓:匿名使用者
這個很難細說,不過和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。此號好理解,按位取反
6樓:知杏人
一、php中邏輯運算子:
1.&& 邏輯與
2.|| 邏輯或
3.!=邏輯非
二、php中位運算子
1.& 按位左移,按位右移
2.| 按位或
php中按位運算需要轉換成二級制,把兩個需要比較的值按位運算出結果後在編譯成十進位制,比較麻煩;如果想整清楚的話需要好好研究下按位運演算法則。不僅僅php,其他語言的按位運算也是一樣
一般按運算常用與加密演算法
7樓:匿名使用者
邏輯或運算子,只有當前的判斷結果為true才會繼續判斷
php語言php語言裡的位運算子&、|、^ 、~、〈〈 、〉〉這些符號我一個也不懂,希望高手給個全面的解釋!拜
8樓:匿名使用者
"&" 按位與運算
按位與運算子"&"是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為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"; //十進位制
9樓:
各種語言都不全一樣的,我給你看看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。
php中的運算子優先順序是什麼樣的
樓上覆制貼上的什麼玩意兒?看這個吧,php的所有運算子優先順序文件都在這裡了 網頁連結,希望採納 php中的 和or,有什麼區別呢?優先順序一樣麼? if asdfjklkj sdfjlk or sadfl sdfkjh 和if asdfads hgk asdfsad fghdfgh 前者全文來字顯...
vb 的取餘運算子是怎麼算的,VB中的所有運算子
dim a as integer a 5 mod 2 答案是1,因為5被2除后,餘數是1.mod 為取餘函式。準確的理解應該為 兩個整數之間相除取餘數。當兩個除數小數時,先轉化為整數在相除。在轉化時,原則為4舍6入5成雙。例如 轉化為5 轉化為6 轉化為6 轉化為6 mod 3 0 相當於 12 m...
副詞在英語中是做什麼用的
定 義 副詞是一種用來修飾動詞,形容詞,副詞或全句的詞,說明時間,地點,程度,方式等概念。分 類 1 時間和頻度副詞 now,then,often,always,usually,early,today,lately,next,last,already,generally,frequently,sel...