簡體   English   中英

php,symfony 2過濾器區分大小寫

[英]php,symfony 2 filter case sensitive

我想忽略過濾器中的大小寫,我的代碼:

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

如果要通過減小對象的大小寫來忽略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 (isset($filterObject['name']) && $filterObject['name'] && null !==  strtolower(($filterObject['name']))) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM