使php数组区分大小写


Make php array case in-sensitive

如果有人搜索"TestING",它仍然应该读作"TestING"。我在网页搜索中包含了一个php文件来阻止某些术语。但我必须把每个单词的大小写都加进去。有没有一个快速的解决方案,这样案件就无关紧要了?

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

另一种不总是使用strtolower检查的方法是使用in_array,而是使用此函数。

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

请参阅http://us2.php.net/manual/en/function.in-array.php#89256

由于您使用的是strstr,您可以将其替换为stristr,这是不区分大小写的版本

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

您可以使用strtolower将所有内容设置为小写。

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

或者您可以使用strcasecmp。

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