使php数组区分大小写

使php数组区分大小写,php,arrays,case-insensitive,Php,Arrays,Case Insensitive,如果有人搜索“测试”,它仍应读为“测试”。我有一个php文件包括在我的网页搜索,以阻止某些条款。但我必须为每个单词加上每个格。是否有一个快速解决方案,使案件不重要 <? $blocked=array('nude','nsfw','xrated'); ?> 您可以使用 或者您可以使用strcasecmp $var1 = "Hello"; $var2 = "hello"; if (strcasecmp($var1, $var2) == 0) { echo '$var1 is

如果有人搜索“测试”,它仍应读为“测试”。我有一个php文件包括在我的网页搜索,以阻止某些条款。但我必须为每个单词加上每个格。是否有一个快速解决方案,使案件不重要

<?

$blocked=array('nude','nsfw','xrated');

?>

您可以使用

或者您可以使用strcasecmp

$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}

另一种不必总是使用strtolower检查的方法是在数组中使用此函数而不是

function in_arrayi($needle, $haystack) {
    return in_array(strtolower($needle), array_map('strtolower', $haystack));
}

请参见

因为您使用的是strstrstr,所以可以将其替换为,这是不区分大小写的版本

if(stristr($_GET[q],$term)==false)

您如何使用
$blocked
?有几种方法可以做到这一点,但这取决于您使用的函数。数组包含它所包含的内容-您应该询问的是如何将它与不区分大小写的字符串进行比较。请查看。我如何才能做到这一点
if(stristr($_GET[q],$term)==false)