PHP中的按位与和按位或操作示例
按位与主要是对二进制数操作。
<?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;
?>
相关推荐
-
PHP中的按位与和按位或操作示例
按位与主要是对二进制数操作. 代码如下: 复制代码 代码如下: <?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换算成二进制
-
php中10个不同等级压缩优化图片操作示例
本文实例分析了php中10个不同等级压缩优化图片操作.分享给大家供大家参考,具体如下: 今天找到一个php写的压缩图片程序,可以分10个等级(0-9)来压缩,0等级时压缩比率不是很大,图片不会失真:随着压缩等级不断增大,图片会变得越来越不清晰,通常压缩后图片大小可以减少到原来的50%,压缩比还是挺大的. 如下是php压缩图片程序 <?php Header("Content-type: image/PNG");/*告诉IE浏览器你做的程序是张图片*/ $image = @image
-
PHP框架Laravel中使用UUID实现数据分表操作示例
本文实例讲述了PHP框架Laravel中使用UUID实现数据分表操作.分享给大家供大家参考,具体如下: UUID UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的. 说的简单点,它就是通过一个规则(如:业务标识号+年月日+当日自增数字格式化)生成的一个具有唯一性的辨识资讯.用于关联我们的一些额数据和资讯. 实例 之前在做一个项目的时候用到这个东西,现在我就用Laravel框架写一个简单的demo 前端form表单 <!DOCTYPE html> <html&g
-
Python实现读取txt文件中的数据并绘制出图形操作示例
本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作.分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据. 6.1101,17.592 5.5277,9.1302 8.5186,13.662 7.0032,11.854 5.8598,6.8233 8.3829,11.886 7.4764,4.3483 8.5781,12 6.4862,6.5987 5.0546,3.8166 5.7107,3.2522 14.164,15.505 5.734,3.1551 8.408
-
PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例
本文实例讲述了PHP基于非递归算法实现先序.中序及后序遍历二叉树操作.分享给大家供大家参考,具体如下: 概述: 二叉树遍历原理如下: 针对上图所示二叉树遍历: 1. 前序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树. ABDHECFG 2.中序遍历:先遍历左子树,然后遍历根结点,最后遍历右子树. HDBEAFCG 3.后序遍历:先遍历左子树,然后遍历右子树,最后遍历根节点. HDEBFGCA 实现方法: 先序遍历:利用栈先进后出的特性,先访问根节点,再把右子树压入,再压入左子树.这样取出的
-
Java中父类和子类之间的转换操作示例
本文实例讲述了Java中父类和子类之间的转换操作.分享给大家供大家参考,具体如下: 一.父类引用强转成为子类引用 package learn20180720; public class People { private String name; private Integer age; private Double height; public People(){ this.name = ""; this.age = 0 ; this.height = 0.0; } public Pe
-
MySQL存储过程中游标循环的跳出和继续操作示例
最近遇到这样的问题,在MySQL的存储过程中,游标操作时,需要执行一个conitnue的操作.众所周知,MySQL中的游标循环操作常用的有三种,LOOP,REPEAT,WHILE.三种循环,方式大同小异.以前从没用过,所以记下来,方便以后查阅. 1.REPEAT 复制代码 代码如下: REPEAT Statements; UNTIL expression END REPEAT demo DECLARE num INT; DECLARE my_string VARCHAR(255);
-
java中的按位与(&)用法说明
为什么4&7结果是4 4 的二进制值是 100,7 的二进制值是 111(实际上 Java 在存储两个数到内存时会自动在有效值 100 和 111 之前补 29 个零来达到整数类型的 4 byte 大小,此处为了方便展示就不补全前面的一串零了), & 是将两数进行位与位的 and 操作(0 & 1 = 0,1 & 1 = 1),所以操作步骤就是 4: 1 0 0 & & & 7: 1 1 1 ---------- = 1 0 0 可见最后得出的结果是
-
swift 3.0中实现字符串截取、比较的方法示例
前言 字符串处理一直都是程序开发中不可避免的,而字符串截取/替换操作更是频繁.swift3.0 中不能直接使用下标数字进行字符串解决,只能使用String.Index来做位置索引,要想实现截取功能首先得获取到String.Index; 下面话不多说了,来一起看看详细的介绍吧. 实例代码 下面两段代码获取开头可结尾,获取中间部分参数用Range<Index>即可: 获取结尾两个字符子串: let sessionId = "this is a test" let index =
-
javascript 中Cookie读、写与删除操作
javascript 中Cookie读.写与删除操作 前言: 在这个前端横行的时候,页面之间的交互需要数据的传递,有的数据通过url传参的形式可以很好地解决,但是对于部分需要改变的参数,你如说从页面A到页面B选择数据,然后从页面B将数据再传到页面A(典型的栗子就是收货地址的选择),针对这一块我是通过存储cookie来解决的. 对于cookie的操作我给出了一些简单的封装,当然也借鉴了前辈们经验,自己糅合了一下,对于cookie的操作,无非是读写和删除,我们首先来看一下写的操作,有写才有读,进而
随机推荐
- React Native验证码倒计时工具类分享
- 原生js实现手风琴功能(支持横纵向调用)
- CI框架开发新浪微博登录接口源码完整版
- Python 关于反射和类的特殊成员方法
- 鼠标悬浮停留三秒后自动显示大图js代码
- java 全角半角字符转换的方法实例
- javascript高级程序设计(第三版)学习笔记(一) 正则表达式整理
- Python实现3行代码解简单的一元一次方程
- 深入C语言把文件读入字符串以及将字符串写入文件的解决方法
- JS基于面向对象实现的放烟花效果
- Android实现用户登录记住密码功能
- 深入理解Spring Boot属性配置文件
- 快速开发一个PHP扩展图文教程
- Windows Xp修复控制台详细用法
- python生成不重复随机数和对list乱序的解决方法
- springboot手写一个自己的starter源码
- C语言制作简易金山打字通功能的代码
- 利用django model save方法对未更改的字段依然进行了保存
- 微信小程序中使用 async/await的方法实例分析
- 详解c++ 静态成员变量