如何使用PHP的按位與&或|異或^-創(chuàng)新互聯(lián)

本篇文章為大家展示了如何使用PHP的按位與& 或| 異或^ ,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司2013年開(kāi)創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元天柱做網(wǎng)站,已為上家服務(wù),為天柱各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

                                                           按位與:
0&0=0;   0&1=0;    1&0=0;     1&1=1;
按位或:
0|0=0;   0|1=1;   1|0=1;    1|1=1;
按位異或,在或的基礎(chǔ)上1 1也為0:
0^0=0;   0^1=1;   1^0=1;   1^1=0;

1.一個(gè)int型字段,存儲(chǔ)十進(jìn)制的數(shù)字,比如說(shuō)是5
那么該數(shù)字轉(zhuǎn)成二進(jìn)制是101,我自己定義從左往右數(shù),
第一位1,代表某功能自動(dòng)轉(zhuǎn)發(fā)開(kāi)啟
第二位0,代表自動(dòng)刪除關(guān)閉
第三位1,代表自動(dòng)保存開(kāi)啟

2.判斷第三位是否開(kāi)啟自動(dòng)保存的代碼

($userStatus & pow(2,3-1))!=0

3.pow是指數(shù)表達(dá)式函數(shù),2的2次方,轉(zhuǎn)成二進(jìn)制是0100,按位與0101 & 0100 是0100 十進(jìn)制為4,因此不等于0為true
4.設(shè)置某一位的值,如果要設(shè)置為1代碼是

$userStatus | pow(2,3-1)


原始值為 0001,要設(shè)置第三位為1,0001 | 0100 為0101
5.把某一位設(shè)置為0,代碼是

$userStatus ^ pow(2,3-1) 0101 ^ 0100 為0001

【推薦課程:PHP視頻教程】

function setStatus($source,$flag,$value){
        if (intval($value) == 1 || strcasecmp($value, 'on') == 0) {
            $value = 1;
        } else {
            $value = 0;
        }   

        $status = pow(2, $flag - 1); 
        $oldStat = (($source & $status) != 0); 
        if ($oldStat == $value) {
            return $source;
        }   
        if ($value) {
            $source |= $status;
        } else {
            $source ^= $status;
        }   
        return $source;
}
//001 轉(zhuǎn)成 101 
var_dump(setStatus(1,3,'on'));//int(5)
//1101 轉(zhuǎn)成 0101
var_dump(setStatus(13,4,0));//int(5) 
  

上述內(nèi)容就是如何使用PHP的按位與& 或| 異或^ ,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章題目:如何使用PHP的按位與&或|異或^-創(chuàng)新互聯(lián)
分享鏈接:http://bm7419.com/article6/hcdig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)、服務(wù)器托管、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司