`

php按位与条件匹配算法

    博客分类:
  • php
php 
阅读更多
在条件固定的前提下,传参想匹配多个条件,可以使用按位与进行匹配,具体如下:
<?php 

$ary = array(
	//有未付订单
    '有未付订单 __PAY_CODE        '=> 0x00000001,
    //备注和留言
    '备注和留言 __FLAG_CODE       '=> 0x00000002,
    //物流公司标记
    '物流公司标记 __LOGI_CODE       '=> 0x00000004,
    //产品不匹配
    '产品不匹配 __PRODUCT_CODE    '=> 0x00000008,
    //用户多订单
    '用户多订单 __MEMBER_CODE     '=> 0x00000010,
    //乡村物流标记
    '乡村物流标记 __LOGI_LITE_CODE  '=> 0x00000020,
    //单订单
    '单订单 __SINGLE_CODE     '=> 0x00000040,
    //多订单
    '多订单 __MUTI_CODE       '=> 0x00000080,
    //仓库
    '仓库 __BRANCH_CODE     '=> 0x00000100,
    //库存
    '库存 __STORE_CODE      '=> 0x00000200,
    //异常
    '异常 __ABNORMAL_CODE   '=> 0x00000400,
    //单订单且有备注
    '单订单且有备注 __EXAMINE_CODE    '=> 0x00000800,
    //超卖订单
    '超卖订单 __OVERSOLD_CODE   '=> 0x00001000,
  //淘宝订单优惠中有赠品信息		
    '淘宝订单优惠中有赠品信息 __PMTGIFT_CODE    '=> 0x00002000,
    '淘宝订单优惠中有赠品信息 __COMBINE_CODE    '=> 0x00004000,
    //CRM赠品信息
    'CRM赠品信息 __CRMGIFT_CODE    '=> 0x00008000,
    //检测订单是否开发票
    '检测订单是否开发票 __TAX_CODE        '=> 0x00010000,
    //检查物流到不到
    '检查物流到不到 __LOGIST_ARRIVED 	'=> 0x00040000,

);

$testnum = $_GET['num'];
$html = "<table style='border:1px solid #e0e0e0;'><tr><td>序号</td><td>目标</td><td>&</td><td>状态码</td><td>结果</td><td>匹配结果(红色)</td></tr>";
$index =1;
foreach ($ary as $key => $value) {
	$result = $value & $testnum;
	$color = '';
	if ($result > 0) {
		$color = "style='color:red;'";
	}
	$html .= "<tr><td>".$index."</td><td>" . $testnum. "(".decbin($testnum).")</td><td>&</td><td>" . $value. "(".decbin($value).")</td><td>" . $result. "(".decbin($result).")</td><td ".$color.">". $key ."</td></tr>";
	$index++;
}
echo $html."</table>";




测试:将上面的代码保存为test.php ,并放入运行环境, 在浏览器中输入
localhost/test.php?num=12


你会看到结果



其中红色的为匹配上的条件。
以二级制来进行与运算,利用相同位上为1来进行匹配


如有不足, 欢迎指正。共同学习,共同进步。




  • 大小: 32.7 KB
分享到:
评论

相关推荐

    PHP版的AC多模式匹配算法

    AC多模式匹配算法 特点:应用有限自动机巧妙地将字符比较转化为了状态转移。此算法有两个特点:一是扫描文本时完全不需要回溯,二是时间复杂度为O(n)与关键字的数目和长度无关,但所需时间和文本长度以及所有关键字...

    php搜索引擎之分词算法

    本人写的搜索引擎部分抓词,里面含有数据库配置文件,以及本人开发心得。需要的可以下载来看看。采用的是正向最大匹配算法。目前只是分词部分结束。前台是简单的页面。使用了smarty模版分离代码。

    PHP实现的最大正向匹配算法示例

    正向最大匹配算法:从左到右将待分词文本中的几个连续字符与词表匹配,如果匹配上,则切分出一个词。但这里有一个问题:要做到最大匹配,并不是第一次匹配到就可以切分的 。 函数中包含三个参数: $query 查询词 $...

    php中最简单的字符串匹配算法

    本文实例讲述了php中最简单的字符串匹配算法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:&lt;?php /* 最简单字符串匹配算法php实现方式   T: ababcabc P: abc   0. 1. 2. ababcabc ...

    PHP多个字符串排列组合的算法,组二,组三

    PHP多个字符串排列组合的算法,组二,组三,彩票统计中奖注数的算法中会经常用到

    PHP实现的字符串匹配算法示例【sunday算法】

    主要介绍了PHP实现的字符串匹配算法,简单描述了sunday算法的概念与原理,并结合实例形式分析了php基于sunday算法实现字符串匹配操作相关技巧,需要的朋友可以参考下

    PHP 相关项目:如简单的 PHP遗传 算法、LDAP 登录、Websockets 等_JavaScript_代码_下载

    嘎 OOP 格式的 PHP 遗传算法代码 PHP wp_nas_rsync 用于将 Wordpress 与异地 nas 同步的 Shell 脚本 重击 ws PHP Websocket 客户端和服务器演示 PHP phpLDAPWindows PHP 示例连接到 LDAP 服务器 PHP phpDBLogEvent ...

    基于php实现的哈希算法的人脸检索

    - 通过hash算法存储165张图片于数据库中,每一个图片的hash码位数为64位; - 输入一个图片,检索数据库,并输出对应人脸图,以可视化界面的方式展示检索结果。要求检查结果具有准确性。 ### 工程文件 - form.html ...

    对称加密算法的PHP类.zip

     }常用对称加密算法类支持密钥:64/128/256 bit(字节长度8/16/32)支持算法:DES/AES(根据密钥长度自动匹配使用:DES:64bit AES:128/256bit)支持模式:CBC/ECB/OFB/CFB密文编码:base64字符串/十六进制字符串/二...

    基于PHP实现栈数据结构和括号匹配算法示例

    主要介绍了基于PHP实现栈数据结构和括号匹配算法,结合实例形式分析了php数组操作实现栈数据结构的进栈、出栈,以及基于栈的括号匹配应用技巧,需要的朋友可以参考下

    Code for '搜狐图文匹配算法大赛'.zip

    【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发...有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。

    php 计算两个字符串的匹配度

    比如给出两个字符串:“abc”和“abcx”,那么用这个算法返回值是一。用动态规划的思想实现的,其实网上有很多c/c++实现的,本例是php实现

    PHP对称加密算法DES,AES类.zip

    分享一个PHP对称加密算法DES,AES类,支持密钥:64/128/256 bit(字节长度8/16/32),支持算法:DES/AES(根据密钥长度自动匹配使用:DES:64bit AES:128/256bit)。

    2021搜狐校园文本匹配算法大赛 分比我们低的都是帅哥队.zip

    【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发...有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。

    php对称加密算法DES和AES类.zip

    分享一个php对称加密算法DES和AES类,支持密钥:64/128/256 bit(字节长度8/16/32),支持算法:DES/AES(根据密钥长度自动匹配使用:DES:64bit AES:128/256bit),支持模式:CBC/ECB/OFB/CFB,密文编码:base64字符...

    腾云阁高精度车辆追踪算法大赛。给定地图数据和汽车的gps定位数据,通过地图匹配算法得出汽车行驶过了哪些道路.zip

    【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发...有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。

    java,php,GOLang,JavaScript,AES加密解密代码互通

    java,php,GOLang,JavaScript,多端代码,使用AES ECB 128加密解密内容互通,可以使用任意一种语言加密,使用另一种语言解密

Global site tag (gtag.js) - Google Analytics