У меня есть вход для пользователя. если я хочу обнаружить некоторые символы, которые находятся в таком массиве, как этот $array = array('#','%','^')
так есть ли какая-либо встроенная функция в php для этого? который возьмет массив и вернет true или false.
array_intersect может вам помочь - например
$array = array('#','%','^');
if(array_intersect(str_split($username), $array)) {
echo "Found";
} else {
echo "Not Found";
}
Самый простой способ:
if (str_replace($array, '', $username) != $username) {
do something;
}
Конечно, вы можете написать свою собственную функцию:
function contains_unallowed($array = ['#', '%', '^']) {
return str_replace($array, '', $username) != $username;
}
Он принимает массив символов в качестве необязательного параметра и возвращает true или false. Если это не сработает, замените квадратные скобки []
на array()
.