繁体   English   中英

如何将一个字符串与另一个字符串值完全匹配?

[英]How to match a string with another string values exactly?

我有一个表值如下字符串:

一种方法是将传入的字符串拆分为单独的地址,然后检查它们是否与表值匹配:

$string = 'PhysicalAddress:E8-6A-64-DE-48-60PhysicalAddress:04-EA-56-08-E6-8EPhysicalAddress:04-EA-56-08-E6-8FPhysicalAddress:06-EA-56-08-E6-8EPhysicalAddress:04-EA-56-08-E6-92';
$components = str_split($string, 33);
$query = "SELECT * 
FROM table1 
WHERE preview LIKE '%" . implode("%'\n  AND preview LIKE '%", $components) . "%'";
echo $query;

输出:

SELECT * 
FROM table1 
WHERE preview LIKE '%PhysicalAddress:E8-6A-64-DE-48-60%' 
  AND preview LIKE '%PhysicalAddress:04-EA-56-08-E6-8E%'
  AND preview LIKE '%PhysicalAddress:04-EA-56-08-E6-8F%'
  AND preview LIKE '%PhysicalAddress:06-EA-56-08-E6-8E%'
  AND preview LIKE '%PhysicalAddress:04-EA-56-08-E6-92%'

3v4l.org 上的演示

根据尼克的答案进行了更新。

<?php
$submit_input = array(
  "PhysicalAddress:E8-6A-64-DE-48-60PhysicalAddress:04-EA-56-08-E6-8EPhysicalAddress:04-EA-56-08-E6-8FPhysicalAddress:06-EA-56-08-E6-8EPhysicalAddress:04-EA-56-08-E6-92",
  "PhysicalAddress:04-EA-56-08-E6-92PhysicalAddress:E8-6A-64-DE-48-60PhysicalAddress:04-EA-56-08-E6-8EPhysicalAddress:04-EA-56-08-E6-8FPhysicalAddress:06-EA-56-08-E6-8E",
  "PhysicalAddress:06-EA-56-08-E6-8EPhysicalAddress:E8-6A-64-DE-48-60PhysicalAddress:04-EA-56-08-E6-8EPhysicalAddress:04-EA-56-08-E6-8FPhysicalAddress:04-EA-56-08-E6-92",
  "PhysicalAddress:04-EA-56-08-E6-8FPhysicalAddress:E8-6A-64-DE-48-60PhysicalAddress:04-EA-56-08-E6-8EPhysicalAddress:06-EA-56-08-E6-8EPhysicalAddress:04-EA-56-08-E6-92",
  "PhysicalAddress:04-EA-56-08-E6-8EPhysicalAddress:E8-6A-64-DE-48-60PhysicalAddress:04-EA-56-08-E6-8FPhysicalAddress:06-EA-56-08-E6-8EPhysicalAddress:04-EA-56-08-E6-92",     
);

foreach($submit_input as $k=>$v) {
  $components = explode("PhysicalAddress:", $submit_input[$k]);
  $main_value = implode("%'\n  AND preview LIKE '%", array_filter($components) );
  $query = "SELECT * FROM table1 WHERE preview LIKE '%" . $main_value . "%'";
  echo $query;
}

exit;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM