淺析PHP 按位與或 (^ 、&)
更新時間:2013年06月21日 09:21:37 作者:
本篇文章是對PHP中的按位與或 (^ 、&)進行了詳細的分析介紹,需要的朋友參考下
今天朋友群里朋友問了下 按位與或的問題。。
PHP 工作有1年了 可能對這塊不太熟悉吧 在這里給新手朋友介紹下這部分
按位于主要是對二進制數(shù)操作。
<?php
$a = 1;
$b = 2;
$c = $a^b;
echo $c // 3
?>
這里不是單純的相加關(guān)系
十進制 1換算成二進制 00000001
十進制 2換算成二進制 00000010
按位^ 00000011 // 就是不相同的都算成1 啦 ^_^
然后,
<?php
$a = 1;
$b = 2;
echo $a & $c; // 1
?>
十進制 3換算成二進制 00000011
十進制 1換算成二進制 00000001
按位& 00000001 // 就是各個位數(shù)相同的不變否則都算成0
最后介紹下用法 ; 按位&后返回值是沒意義的。 主要是用來判斷$a 是否存在于 $c // 權(quán)限用法比較多。
<?php
$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;
?>
PHP 工作有1年了 可能對這塊不太熟悉吧 在這里給新手朋友介紹下這部分
按位于主要是對二進制數(shù)操作。
復(fù)制代碼 代碼如下:
<?php
$a = 1;
$b = 2;
$c = $a^b;
echo $c // 3
?>
這里不是單純的相加關(guān)系
十進制 1換算成二進制 00000001
十進制 2換算成二進制 00000010
按位^ 00000011 // 就是不相同的都算成1 啦 ^_^
然后,
復(fù)制代碼 代碼如下:
<?php
$a = 1;
$b = 2;
echo $a & $c; // 1
?>
十進制 3換算成二進制 00000011
十進制 1換算成二進制 00000001
按位& 00000001 // 就是各個位數(shù)相同的不變否則都算成0
最后介紹下用法 ; 按位&后返回值是沒意義的。 主要是用來判斷$a 是否存在于 $c // 權(quán)限用法比較多。
復(fù)制代碼 代碼如下:
<?php
$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;
?>
相關(guān)文章
PHP獲取數(shù)組長度或某個值出現(xiàn)次數(shù)的方法
這篇文章主要介紹了PHP獲取數(shù)組長度或某個值出現(xiàn)次數(shù)的方法,實例分析了count()與array_count_value()的使用技巧,需要的朋友可以參考下2015-02-02
在mysql數(shù)據(jù)庫原有字段后增加新內(nèi)容
在mysql數(shù)據(jù)庫原有字段后增加新內(nèi)容2009-11-11
PHP函數(shù)用法詳解【初始化、嵌套、內(nèi)置函數(shù)等】
這篇文章主要介紹了PHP函數(shù)用法,結(jié)合實例形式詳細分析了PHP函數(shù)初始化、嵌套、內(nèi)置函數(shù)等相關(guān)定義、原理與操作注意事項,需要的朋友可以參考下2020-06-06
php通過正則表達式記取數(shù)據(jù)來讀取xml的方法
這篇文章主要介紹了php通過正則表達式記取數(shù)據(jù)來讀取xml的方法,實例分析了php正則表達式的技巧及讀取XML文件的方法,需要的朋友可以參考下2015-03-03

