在数据库(mysql/php代码)中搜索以下条目的方法是什么:
- 小行星123XX
- 123 XY
- 湘珠44
- 1X344
- 小行星1Z344
- 直23YY
- 输入的字母只有X-Y-Z和0到9的数字
它们都是一个数字,即(12344),那么我如何显示这些结果呢?目标是搜索重复的条目。
- 另一个示例:**
12年
X = 3、4、5、6、7、8、9、0
Y = 3、4、5、6、7、8、9、0
- 但y不等于x或任何表观数(1,2)*
- 且X不等于Y或任何表观数(1,2)*
$number = "1XZYY";
$rnumber = str_replace(array('Y','X','Z'), "ـ", $number);
$lenNumber = strlen(5);
$duplicate = $mysqli->query("SELECT `number` FROM `listNumber` WHERE (length(`number`) = '$lenNumber' && `number` LIKE '%$rnumber%') OR (length(`number`) = '$lenNumber' && `number`LIKE '%$rnumber%')");
我尝试了许多方法,但是显示结果的速度非常慢,因为我将循环放在循环中,以搜索第一个循环中的每个数字
2条答案
按热度按时间lymnna711#
我知道您想查找
12344
,但是XYZ
中的一些数字可能被修改并替换为随机的大写字母,为此,您可以使用正则表达式:Demo
htzpubme2#
我会用PHP把每一个数字放到正确的位置,直到我发现冲突为止。为了防止双循环,我使用字典助手对象来保存X,Y和Z的值。