подскажите как написать правильно... если в переменную $email попадает адрес от 1@post.ru до 1000@post.ru, то переменная должна равняться допустим admin@post.ru. у меня уже была такая задача, я ее решал так... if ($email == [email='1@post.ru]'1@post.ru[/email]' or $email == [email='2@post.ru]'2@post.ru[/email]' or $email == [email='3@post.ru]'3@post.ru[/email]' и т.д.....) $email = [email='admin@post.ru]'admin@post.ru[/email]'; у меня просто было всего 20 адресов, а как написать по людски?)))
Dmitriy A. Arteshuk, нету ни какого примера))) я все написал, или ты не понял вопрос и я плохо расписал... в $email из формы прилетает email адрес... дальше проверяем если он равняеться адресам в диапазоне от 1@post.ru до 1000@post.ru, то в переменную $email заносим $email = [email='admin@post.ru]'admin@post.ru[/email]';... если же нет, то ничего не делаем... опять же дублирую свой рабочий код if ($email == [email='1@post.ru]'1@post.ru[/email]' or $email == [email='2@post.ru]'2@post.ru[/email]' or $email == [email='3@post.ru]'3@post.ru[/email]' и т.д.....) $email = [email='admin@post.ru]'admin@post.ru[/email]'; как написать его короче и правильнее, ведь адресов 1000, не перечислять же их все)
for ($i=1;$i<=1000;$i++){ if ($email == $i.'@post.ru') {$email = [email='admin@post.ru]'admin@post.ru[/email]';break;} }
А если пользователь введет 999@post.ru будет 999 итераций... многовато как-то... Можно например так... первое что пришло в голову Код (PHP): $mail = '20@post.ru'; $data = explode('@', $mail); if($data[0] <= 1000 && $data[0] >0) $mail = 'admin@post.ru'; echo $mail;
Спасибо работает вроде как нужно. Как это понять? Объясните? Что будет повторяться, когда и зачем?))))
Лучше покажу на примере Выполни этот код и ты сам все поймешь... Код (PHP): $email = '999@post.ru'; for ($i=1;$i<=1000;$i++){ echo "step_{$i}<br/>"; if ($email == $i.'@post.ru') {$email = 'admin@post.ru';break;} } echo $email; Мой код не содержит цикла. Можешь его улучшить добавить проверку на число ну или еще что-то... Код (PHP): if($data[0] <= 1000 && $data[0] >0 && ctype_digit($data[0]))
Может не до "корня", но понял...) да, проверка на число не помешает (ctype_digit($data[0]))... но есть большая недоработка в коде. как сделать так что бы была проверка на post.ru? т.е. если будет введено 20@yandex.ru, то все равно код сработает и выдаст admin@post.ru???