PHP 按位與或 (^ 、&)


 

     今天朋友群里朋友問了下 按位與或的問題。。

     PHP 工作有1年了 可能對這塊不太熟悉吧 在這里給新手朋友介紹下這部分

     按位於主要是對二進制數操作。

    

<?php
$a = 1;
$b = 2;
$c = $a^b;

echo $c  // 3

?>

   這里不是單純的相加關系 

   十進制 1換算成二進制  00000001

   十進制 2換算成二進制  00000010

   按位^                       00000011   // 就是不相同的都算成1 啦 ^_^

   然后,

  

<?php
$a = 1;
$b = 2;
echo $a & $c;  // 1
?>

 

 十進制 3換算成二進制 00000011

 十進制 1換算成二進制 00000001

  按位& 00000001 // 就是各個位數相同的不變否則都算成0

 最后介紹下用法 ; 按位&后返回值是沒意義的。 主要是用來判斷$a 是否存在於 $c // 權限用法比較多。

<?php
$my_privilege = 15;  // 1+2+4+8 擁有全部權限
$Pri = '';
$privilege_arr = array(8=>'增', 4=>'刪',2=>'改',1=>'查');

foreach($privilege_arr as $k =>$v){
  $k & $my_privilege &&  $Pri .= '我有'.$v.'的權力<br>';
}
echo $Pri;
?>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM