Я борюсь с простой функцией, которая перебирает массив и возвращает true
, только если находит заданную подстроку в одном из элементов массива.
По какой-то причине я ВСЕГДА получаю false
... даже если параметр $email
содержит один из допустимых доменов. Пример: [email protected]
.
function check_email($email) {
$whitelist_domains = array(
'@domain1.com',
'@domain2.com',
'@domain3.com'
);
$output = FALSE;
foreach ($whitelist_domains as $domain) {
$pos = strpos( $email, $domain );
if ( $pos ) {
$output = TRUE;
}
}
return $output;
}
$pos
, потому что, если он найдет его в начале строки, ваш тест завершится ошибкой, потому что$pos = 0
. Вместо этого сделайтеif($pos === false)
- person jprofitt   schedule 16.03.2012