php,symfony 2过滤大小写敏感

时间:2012-11-07 09:05:09

标签: php symfony

我想忽略过滤器中的大小写,我的代码:

if (strtolower(isset($filterObject['name'])) && null !== strtolower(($filterObject['name']))) {
    $queryFilter->addStringFilter("name", ($filterObject['name']));
}

1 个答案:

答案 0 :(得分:1)

如果要通过小写对象来忽略addStringFilter的大小写敏感性 你只需要使用strtolower($ filterObject ['name'])。 strtolower小写给出的字符串。

关于那个注意事项,你在isset函数结果上使用了strtolower,它不会在那里做任何事情(因为isset没有返回字符串)。

因此,您应该将源代码更改为:

if (isset($filterObject['name']) && null !==  strtolower(($filterObject['name']))) 
{
    $queryFilter->addStringFilter("name", strtolower(($filterObject['name'])));
}

顺便说一下,你没有检查的是$ filterObject ['name']是否为空(不确定是否可能,因为我不知道你剩下的代码。如果有可能你想添加另一个和进入if:

&& $filterObject['name']

这将确保它填充的不仅仅是一个空字符串。 因此if部分将改为:

 if (isset($filterObject['name']) && $filterObject['name'] && null !==  strtolower(($filterObject['name'])))