Я использую следующий код, чтобы проверить, является ли строка именем пользователя сеанса в данный момент.
if($_SESSION['username'] == $home || $_SESSION['username'] == $away)
Я хочу изменить это, чтобы увидеть, содержит ли строка имя пользователя сеанса, а не конкретно имя пользователя.
Есть ли способ сделать это? Спасибо
Редактировать :
Скажем, что строка «Username1 и Username2», я найду «Username1».
Я сделал следующее:
if( ( strpos($home, $_SESSION['username']) !== false) || ( strpos($away, $_SESSION['username']) !== false) )
Кажется, что это не сработало!
Один из способов, как многие из них, будет использовать функцию strpos()
, о которой говорит документация, – это самый быстрый способ просто определить, происходит ли подстрока внутри строки.
if( strpos($_SESSION['username'],$home) ) !== false)
Формат strpos – strpos(*haystack*, *needle*)
. Итак, вышесказанное верно, если $_SESSION['username']
– Username1, а $home
– Username1 и Username2 .
Если вам действительно нужна подстрока назад (а не позиция), strstr()
– хороший способ пойти.
Это сработает
$username = 'theusername'; if(strpos($username,$_SESSION['username']) !== false) { // contains username }