在条件固定的前提下,传参想匹配多个条件,可以使用按位与进行匹配,具体如下:
<?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
分享到:
相关推荐
AC多模式匹配算法 特点:应用有限自动机巧妙地将字符比较转化为了状态转移。此算法有两个特点:一是扫描文本时完全不需要回溯,二是时间复杂度为O(n)与关键字的数目和长度无关,但所需时间和文本长度以及所有关键字...
本文将深入探讨PHP实现的搜索引擎中的一个关键环节——分词算法,特别是正向最大匹配算法。 首先,我们要理解什么是分词。在自然语言处理(NLP)中,分词是将连续的文本序列划分为有意义的词汇单元的过程,这些单元...
在PHP中,这可能涉及到复杂的算法实现,比如最小最大公平匹配算法或者基于优先级的匹配算法。 3. **实时通信**:Workerman作为PHP的网络服务框架,提供了TCP长连接的能力,可以实现实时通信。当有新的玩家加入房间...
本文将深入探讨一种最简单的字符串匹配算法的PHP实现,该算法主要用于在一个较大的文本字符串(目标字符串,Target,简称T)中查找一个较小的子字符串(模式字符串,Pattern,简称P)。 首先,我们需要了解算法的...
在这种情况下,可以考虑优化算法或使用更高效的数据结构,如位向量,来减少计算时间和内存消耗。 总结,本文详细介绍了如何使用PHP实现字符串的组合算法,特别关注了“组二”和“组三”的情况。通过自定义的`...
正向最大匹配算法:从左到右将待分词文本中的几个连续字符与词表匹配,如果匹配上,则切分出一个词。但这里有一个问题:要做到最大匹配,并不是第一次匹配到就可以切分的 。 函数中包含三个参数: $query 查询词 $...
2. Rabin-Karp算法:一种字符串匹配算法,利用滚动哈希值减少比较次数。 以上只是PHP面试中算法部分的一部分,实际面试中还可能涉及数据结构(如栈、队列、链表、树等)、设计模式、性能优化等问题。熟练掌握这些...
在众多字符串匹配算法中,Sunday算法是一种高效的模式匹配算法,它特别适合于对长文本串进行模式查找。Daniel M. Sunday在1990年提出了这一算法,它以其作者的名字命名,并且具有较好的平均性能表现。 ### Sunday...
KM算法,即Kuhn-Munkres算法,是一种求解二分图完美匹配的有效方法,具有较高的效率。 KM算法的核心思想是通过构建一个对偶图,并寻找增广路径来逐步完善匹配。以下是对KM算法的详细步骤: 1. 初始化:将所有边的...
3. **评估条件**:对每一个待分配的对象,检查其属性是否满足与五行元素的匹配条件。如果满足,进行下一步;如果不满足,可能需要调整分配策略或重新定义匹配规则。 4. **分配决策**:一旦找到匹配的元素,就将对象...
在IT领域,模糊匹配是一种广泛应用于搜索和过滤技术中的算法,它允许用户输入不完全或有误的查询词,系统仍能返回相关的匹配结果。在本案例中,我们将讨论如何使用PHP、JavaScript和HTML实现一个简单的模糊匹配功能...
八、数学与逻辑算法 1. 同余模运算:在整数除法中,用于处理余数问题,如欧几里得算法求最大公约数。 2. 排列组合:计算不同排列和组合的数量,如排列公式n!/(n-r)! 和组合公式C(n,r)=n!/r!(n-r)!。 3. 质因数分解:...
6. **字符串处理**:例如KMP算法用于高效地匹配字符串,Trie树(字典树)用于快速查找前缀。 7. **递归与回溯**:如八皇后问题、N皇后问题等,递归是解决这类问题的常见方法。 8. **数值计算**:如欧几里得算法...
2. 栈与队列应用:实现表达式求值、括号匹配等。 3. 二叉树操作:遍历(前序、中序、后序)、平衡调整、查找最近公共祖先。 4. 图论问题:最短路径算法(Dijkstra、Floyd-Warshall)、最小生成树(Prim、Kruskal)。...
本文将深入探讨基于PHP的DFA算法敏感词过滤器,它是如何工作的,以及如何与Laravel框架集成。 **DFA(Deterministic Finite Automaton)确定有限状态自动机**是一种计算模型,常用于文本处理和模式匹配。DFA的核心...
6. **字符串处理**:PHP的字符串处理算法包括模式匹配(正则表达式)、字符串查找替换、最长重复子串等。在文本分析和处理中,熟练掌握这些算法能提高程序的准确性和效率。 7. **数据结构**:PHP中的链表、栈、队列...
嘎 OOP 格式的 PHP 遗传算法代码 PHP wp_nas_rsync 用于将 Wordpress 与异地 nas 同步的 Shell 脚本 重击 ws PHP Websocket 客户端和服务器演示 PHP phpLDAPWindows PHP 示例连接到 LDAP 服务器 PHP phpDBLogEvent ...
- 通过hash算法存储165张图片于数据库中,每一个图片的hash码位数为64位; - 输入一个图片,检索数据库,并输出对应人脸图,以可视化界面的方式展示检索结果。要求检查结果具有准确性。 ### 工程文件 - form.html ...