我使用以下代码检查字符串是否是会话用户名。
if($_SESSION['username'] == $home || $_SESSION['username'] == $away)
我希望更改它以查看字符串是否包含会话用户名,而不是具体的用户名。
有办法做到这一点吗? 三江源
编辑:
假设字符串是“Username1和Username2”,我将找到“Username1”。
我做了以下事情:
if( ( strpos($home, $_SESSION['username']) !== false) || ( strpos($away, $_SESSION['username']) !== false) )
这似乎没有奏效!
答案 0 :(得分:7)
许多方法中的一种方法是使用strpos()
函数,文档中说这是确定子字符串是否出现在字符串中的最快方法。
if (strpos($_SESSION['username'],$home) !== false)
strpos的格式为strpos(*haystack*, *needle*)
。因此,如果$_SESSION['username']
用户名1 且$home
用户名1和用户名2 ,则上述情况属实。
如果您确实需要返回子字符串(而不是位置),strstr()
是一个很好的方法。
答案 1 :(得分:1)
这样可行
$username = 'theusername';
if(strpos($username,$_SESSION['username']) !== false) {
// contains username
}