`

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搜索引擎之分词算法

    本文将深入探讨PHP实现的搜索引擎中的一个关键环节——分词算法,特别是正向最大匹配算法。 首先,我们要理解什么是分词。在自然语言处理(NLP)中,分词是将连续的文本序列划分为有意义的词汇单元的过程,这些单元...

    PHP 游戏房间匹配demo2

    在PHP中,这可能涉及到复杂的算法实现,比如最小最大公平匹配算法或者基于优先级的匹配算法。 3. **实时通信**:Workerman作为PHP的网络服务框架,提供了TCP长连接的能力,可以实现实时通信。当有新的玩家加入房间...

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

    本文将深入探讨一种最简单的字符串匹配算法的PHP实现,该算法主要用于在一个较大的文本字符串(目标字符串,Target,简称T)中查找一个较小的子字符串(模式字符串,Pattern,简称P)。 首先,我们需要了解算法的...

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

    在这种情况下,可以考虑优化算法或使用更高效的数据结构,如位向量,来减少计算时间和内存消耗。 总结,本文详细介绍了如何使用PHP实现字符串的组合算法,特别关注了“组二”和“组三”的情况。通过自定义的`...

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

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

    PHP面试题之算法

    2. Rabin-Karp算法:一种字符串匹配算法,利用滚动哈希值减少比较次数。 以上只是PHP面试中算法部分的一部分,实际面试中还可能涉及数据结构(如栈、队列、链表、树等)、设计模式、性能优化等问题。熟练掌握这些...

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

    在众多字符串匹配算法中,Sunday算法是一种高效的模式匹配算法,它特别适合于对长文本串进行模式查找。Daniel M. Sunday在1990年提出了这一算法,它以其作者的名字命名,并且具有较好的平均性能表现。 ### Sunday...

    二分图的完美匹配 KM算法.docx

    KM算法,即Kuhn-Munkres算法,是一种求解二分图完美匹配的有效方法,具有较高的效率。 KM算法的核心思想是通过构建一个对偶图,并寻找增广路径来逐步完善匹配。以下是对KM算法的详细步骤: 1. 初始化:将所有边的...

    五行分配算法

    3. **评估条件**:对每一个待分配的对象,检查其属性是否满足与五行元素的匹配条件。如果满足,进行下一步;如果不满足,可能需要调整分配策略或重新定义匹配规则。 4. **分配决策**:一旦找到匹配的元素,就将对象...

    php实现的简单文本框模糊匹配

    在IT领域,模糊匹配是一种广泛应用于搜索和过滤技术中的算法,它允许用户输入不完全或有误的查询词,系统仍能返回相关的匹配结果。在本案例中,我们将讨论如何使用PHP、JavaScript和HTML实现一个简单的模糊匹配功能...

    php 算法大全,用 PHP 的方式实现的各类算法合集

    八、数学与逻辑算法 1. 同余模运算:在整数除法中,用于处理余数问题,如欧几里得算法求最大公约数。 2. 排列组合:计算不同排列和组合的数量,如排列公式n!/(n-r)! 和组合公式C(n,r)=n!/r!(n-r)!。 3. 质因数分解:...

    用PHP的方式实现的各类算法合集

    6. **字符串处理**:例如KMP算法用于高效地匹配字符串,Trie树(字典树)用于快速查找前缀。 7. **递归与回溯**:如八皇后问题、N皇后问题等,递归是解决这类问题的常见方法。 8. **数值计算**:如欧几里得算法...

    面试前必备(微软数据结构+算法)

    2. 栈与队列应用:实现表达式求值、括号匹配等。 3. 二叉树操作:遍历(前序、中序、后序)、平衡调整、查找最近公共祖先。 4. 图论问题:最短路径算法(Dijkstra、Floyd-Warshall)、最小生成树(Prim、Kruskal)。...

    基于PHP的DFA算法敏感词过滤器

    本文将深入探讨基于PHP的DFA算法敏感词过滤器,它是如何工作的,以及如何与Laravel框架集成。 **DFA(Deterministic Finite Automaton)确定有限状态自动机**是一种计算模型,常用于文本处理和模式匹配。DFA的核心...

    最全php经典算法.7z

    6. **字符串处理**:PHP的字符串处理算法包括模式匹配(正则表达式)、字符串查找替换、最长重复子串等。在文本分析和处理中,熟练掌握这些算法能提高程序的准确性和效率。 7. **数据结构**:PHP中的链表、栈、队列...

    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 ...

Global site tag (gtag.js) - Google Analytics