当前的任务是使用PHP来检查数据是否存在
简化问题是:
我正在尝试在无组织的字符串中搜索一些可用的大小。
尺寸是 SM / M M / L L / XL XS S M L XL XXL 28 30 31 32 33 34 35 36 28 X 30 28 X 32
目前大多数问题都是通过利用空格来消除唯一变量来解决的,但当谈到(数字X数)作为短语时,它变得非常困难。
当我搜索“28”时,它也会在看到“28 X 30”时检测到 或者当我搜索包含空格的唯一数字“30”时,它仍会检测到28 X“30”
有没有办法解决这个问题?
答案 0 :(得分:5)
您可以做的是首先转换nnn X nnn
字符串并从中删除空格,以便更轻松地处理字符串:
//BEFORE: SM/M M/L L/XL XS S M L XL XXL 28 30 31 32 33 34 35 36 28 X 30 28 X 32
//AFTER: SM/M M/L L/XL XS S M L XL XXL 28 30 31 32 33 34 35 36 28X30 28X32
$sizes=preg_replace('/(\d+) X (\d+)/', '$1X$2', $sizes);
现在你可以在空格上爆炸字符串
$sizeArray=explode(' ', $sizes);
使用数组中的所有不同大小,您可以使用in_array查找特定大小的代码。
//we want to find this
$searchFor='28 X 30';
//our codes no longer have spaces...
$searchFor=str_replace(' ', '', $searchFor);
if (in_array($searchFor, $sizeArray)) {
//great!
}