Я создаю логин и хочу, чтобы мои пользователи могли войти в систему либо по имени пользователя, либо по электронной почте. Как бы проверить, содержит ли строка букву, в этом случае @, чтобы я мог правильно ее обрабатывать. Я бы использовал strstr
или strpos
? Благодаря!
Вы также можете использовать. Поскольку @
не должен появляться с самого начала, вам даже не требуется обходное решение booleanization.
Если вы хотите утверждать, что это действительный адрес электронной почты,
filter_var($str, FILTER_VALIDATE_EMAIL)
Чтобы просто проверить, содержит ли строка письмо, которое вы могли бы использовать
if (strpos($source_string, $letter) !== false) { ... }
На странице руководства для strstr (второе примечание) указано, что strpos менее интенсивна в памяти, чем strstr, если вы просто узнаете, происходит ли это. Поэтому используйте strpos.