comparision ValueStartingWithX%...就像在SQL中一样,但在php比较中



是否可以做类似的事情: 如果比较,where like 'startingwith%'像在 PHP 中的 SQL 中一样?
例如,我想显示所有以123 开头的值...但不显示以 132 开头的值...

试:

if($x == 'aaa%')

但我很确定 PHP 处理像 C 一样的 % 作为模比较。

我找不到是否可以在 PHP 中做这样的事情。

您可以将(.*)用作通配符。

喜欢:

if(preg_match("123(.*)", $var) === 1) 
{
// do something
}

当然,当您想要过滤数组时,您需要一个循环。

正则表达式的其他阅读材料:

  • PHP preg_match
  • 关于 PHP 正则表达式的教程

如果您只想检查前缀,也可以使用完全不同的方法。有一个很好的解决方案性能基准,可以在这里找到。

您可以使用返回找到的子字符串索引的strpos()来做到这一点:

if (strpos($x, 'ABC') === 0) {
echo '$x starts with "ABC"';
}

但是如果你想不区分大小写(就像你的SQL可能做的那样(,你可以使用stripos()

if (stripos($x, 'abc') === 0) {
echo '$x starts with "ABC"';
}

如果你想得到以子字符串结尾的字符串,你可以使用strlen()

if (stripos($x, 'def') === (strlen($x) - strlen('def'))) {
echo '$x ends with "def"';
}

相关内容

最新更新