我被这个看起来相对简单的问题困住了。我有一个表,其中包含存储为变量$partnumber的产品id号。当处理库存变化时,我需要知道整个$partnumber字符串是否在另一个$partnumber字符串内。例如,我需要知道PRA-LGL70-B2-BKWH-EC-L69A7330是否存在于其他变量字符串中,例如下面的字符串。
PRA-LGL70-B2-BKWH-EC-L69A7330
PRA-LGL70-B2-BKWH-EC-L69A7330-L6901
PRA-LGL70-B2-BKWH-EC-L69A7330-L6901-L5156
在一个表中有成千上万个这样的伙伴号,我被告知preg_match可能太慢了。不幸的是,我无法更改实际数据,因此唯一可能的分隔符是"-"。很抱歉,我没有任何源代码,因为我刚刚开始研究这个问题。有人能给我指个方向吗?
如果没有更多的细节,就很难知道问题的需求。正如在评论中提到的,在数据库中这样做可能更好。但要直接回答你的问题- PHP - Searching for a variable match within another variable
使用strpos()
:
$partnumber = 'PRA-LGL70-B2-BKWH-EC-L69A7330-L6901';
$search_for = 'PRA-LGL70-B2-BKWH-EC-L69A7330';
if (strpos($partnumber, $search_for)!==false)
echo "Match found";
注意:stripos()
将做同样的事情,但不会考虑情况。