我在这里有这个代码:
if (in_array('mystring', $entry->getCategories()->getValues()))
{
... //do somethingA
Run Code Online (Sandbox Code Playgroud)
这有效.
但是,我想允许某些东西运行,如果是"mystring"或"mYstring"或"MYSTRING"就是这种情况.
所以我试过这样:
if (in_array(array('OCC', 'OCc','Occ', 'occ', 'ocC','oCC', 'oCc', 'OcC'), $entry->getCategories()->getValues()))
{
Run Code Online (Sandbox Code Playgroud)
但我没有得到任何回报.我在这里错过了什么?
非常感谢,MEM
in_array()无法比较两个数组的值,也不能比较不区分大小写的字符串.从手册:
如果
needle是字符串,则以区分大小写的方式进行比较.
你可以尝试这个技巧.映射strtolower()到categories数组,所以一切都是小写的,然后在数组中搜索小写字符串:
$cats_lower = array_map('strtolower', $entry->getCategories()->getValues());
if (in_array('mystring', $cats_lower))
{
// Do something
}
Run Code Online (Sandbox Code Playgroud)