溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php中怎么使用位運(yùn)算符中的^和&

發(fā)布時間:2021-07-27 10:53:14 來源:億速云 閱讀:178 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)php中怎么使用位運(yùn)算符中的^和&的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

位操作是程序設(shè)計(jì)中對位模式按位或二進(jìn)制數(shù)的一元和二元操作。在許多古老的微處理器上,位運(yùn)算比加減運(yùn)算略快, 通常位運(yùn)算比乘除法運(yùn)算要快很多。在現(xiàn)代架構(gòu)中,位運(yùn)算的運(yùn)算速度通常與加法運(yùn)算相同(仍然快于乘法運(yùn)算)。

^:按位異或。將值轉(zhuǎn)化為二進(jìn)制后進(jìn)行比較,相同位置只要有一個為1則該位置結(jié)果為1,否則為0。舉例如下:

$a=1;//二進(jìn)制為00001
$b=2;//二進(jìn)制為00010
echo $a^$b;// 00011 就是3,因此輸出3

&:按位與。將值轉(zhuǎn)化為二進(jìn)制后進(jìn)行比較,相同位置只有兩個全為1則該位置結(jié)果為1,否則為0。舉例如下:

$a=1;//二進(jìn)制為00001
$b=2;//二進(jìn)制為00010
$c=3;//二進(jìn)制為00011

echo $a&$b;// 00000 就是0,因此輸出0
echo $a&$c;// 00001 就是1,因此輸出1
echo $b&$c;// 00010 就是2,因此輸出2

按位&后返回值主要是用來判斷$a 是否存在于 $c,因此權(quán)限用法比較多。比如

$my_privilege = 15; // 1+2+4+8 擁有全部權(quán)限
$Pri = '';
$privilege_arr = array(8=>'增', 4=>'刪',2=>'改',1=>'查');
foreach($privilege_arr as $k =>$v){
    $k & $my_privilege && $Pri .= '我有'.$v.'的權(quán)力<br>';
}
echo $Pri;//輸出結(jié)果

感謝各位的閱讀!關(guān)于“php中怎么使用位運(yùn)算符中的^和&”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI