数组是否包含(的一部分)字符串?
这个问题在这里已经有了答案:
循环访问$forbiddennames
数组并使用stripos
来检查给定的输入字符串是否与数组中的任何项匹配:
function is_forbidden($forbiddennames, $stringtocheck)
{
foreach ($forbiddennames as $name) {
if (stripos($stringtocheck, $name) !== FALSE) {
return true;
}
}
}
并像下面一样使用它:
if(is_forbidden($forbiddennames, $stringtocheck)) {
echo "This is a forbidden username.";
} else {
echo "True";
}
演示!
foreach ($forbiddennames as $forbiddenname) {
$nametocheck = strtolower($stringtocheck);
if(strpos($stringtocheck, $forbiddenname) !== false) {
echo "This is a forbidden username.";
break;
}
}
如果使用array_map,foreach或其他不同的东西,这并不重要。 解决方案:
$forbiddenNames = array('admin', 'bannedName');
$input = 'Admin12';
$allowed = true;
foreach($forbiddenNames as $forbiddenName) {
if(stripos($input, $forbiddenName) !== false) {
echo $input, ' is invalid';
$allowed = false;
break;
}
}
if($allowed === true) {
echo $input, ' is valid';
}
链接地址: http://www.djcxy.com/p/13119.html