Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-在另一个变量中搜索变量匹配_Php_Regex - Fatal编程技术网

PHP-在另一个变量中搜索变量匹配

PHP-在另一个变量中搜索变量匹配,php,regex,Php,Regex,我被这个看起来相对简单的问题困住了。我有一个充满产品id号的表,存储为变量$partnumber。在处理库存更改时,我需要知道整个$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-L

我被这个看起来相对简单的问题困住了。我有一个充满产品id号的表,存储为变量$partnumber。在处理库存更改时,我需要知道整个$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-在另一个变量中搜索变量匹配,请使用strpos:


注:SrPoPs会做同样的事情,但不会考虑情况。 我不明白你的想法。我刚开始讨论这个问题,你直接问,是吗?试试看!你把它标记为regex,但你说preg_match很慢。那么你期待什么呢?无论如何,如果您只需要知道它是否存在,请查看strpo或stripos。注意,您有一个来自MEA的-1,您应该直接在数据库中执行此操作,而不是在php中执行。从+1到strpos、strstr、mb版本等。
$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";