php中取地址運算子是做什麼用的

時間 2021-08-16 11:05:24

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...