我需要能够检查变量是否包含字符串的第一部分。例如,“foobaz xy”。“foobaz xy”之后的所有内容都可以忽略匹配。这也必须不区分大小写,并且 foobaz 和 xy 之间必须有空格。PHP 中是否已经有一个内置函数可以处理这个问题,或者需要一个正则表达式来处理这个问题?最后但并非最不重要的一点是,如果不止一种方法具有更快的执行时间?谢谢!
问问题
50 次
4 回答
3
它没有内置功能,但是有一个很小的解决方法可以实现相同的目的。检查以下示例:
$string = "foobaz xyewew";
if (stripos($string, "foobaz xy") === 0) {
echo "It starts with foobaz xy";
}
于 2012-07-29T12:18:19.883 回答
0
至于不区分大小写的问题,您可以将新字符串复制到另一个字符串并将其转换为全部小写,这将使其不区分大小写。
假设字符串 A= foobaz xy 和 b=sth sth sth,那么您需要做的就是获取字符串 b 的子字符串,该子字符串始终是 foobaz xy 的大小,因此,如果 b 在字符数上小于 foobaz xy,它会自动打折。如果不是,那么您需要将子字符串与常量字符串 A 进行比较,这将解决问题。
于 2012-07-29T12:19:16.167 回答
0
最快的检查方法:
$variable = "FooBaz xy test string";
$isContain = strpos(strlower($variable, "foobaz xy")) === 0;
于 2012-07-29T12:20:02.533 回答
0
第一个答案是正确的,有关http://www.php.net/manual/en/function.stripos.php的更多信息。永远记住,在简单的字符串检查中使用正则表达式是一种不好的做法。
于 2012-07-29T12:37:25.930 回答