PHP Проверить, содержит ли строка букву - PullRequest
2 голосов
/ 09 января 2012

Я создаю логин и хочу, чтобы мои пользователи могли войти в систему либо по имени пользователя, либо по электронной почте. Как бы я проверил, содержит ли строка букву, в этом случае @, чтобы я мог обработать ее правильно. Буду ли я использовать strstr или strpos? Спасибо!

Ответы [ 3 ]

10 голосов
/ 09 января 2012

Чтобы просто проверить, содержит ли строка букву, вы можете использовать

if (strpos($source_string, $letter) !== false) { ... }
5 голосов
/ 09 января 2012

Вы можете использовать либо.Поскольку @ не должен появляться в начале, вам даже не нужен обход логической обработки результата strpos.

Если вы хотите утверждать, что это действительный адрес электронной почты, попробуйте также

filter_var($str, FILTER_VALIDATE_EMAIL)
1 голос
/ 09 января 2012

Страница справочника для strstr (второе примечание) гласит, что strpos требует меньше памяти, чем strstr, если вы просто выясняете, происходит ли это. Поэтому используйте strpos.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...