if ($_POST['id'] beginsWith "gm") {
$_SESSION['game']=="gmod"
}
if ($_POST['id'] beginsWith "tf2") {
$_SESSION['game']=="tf2"
}
如何做才能使它正常工作?
if(substr($POST['id'],0,3) == 'tf2')
{
//Do something
}
编辑:修正了错误的函数名称(使用了substring()
,应该使用substr()
)
substr()
比strpos()
更快的说法。事实上,我认为它会更慢! - PeeHaastrpos
函数编写一个begins_with
函数:function begins_with($haystack, $needle) {
return strpos($haystack, $needle) === 0;
}
if (begins_with($_POST['id'], "gm")) {
$_SESSION['game']=="gmod"
}
// etc
if (strpos($_POST['id'], "gm") === 0) {
$_SESSION['game'] ="gmod"
}
if (strpos($_POST['id'],"tf2") === 0) {
$_SESSION['game'] ="tf2"
}
===
替换了==
:-P - gen_Eric虽然不是最快的方法,但您可以使用正则表达式来实现
if (preg_match("/^gm/", $_POST['id'])) {
$_SESSION['game']=="gmod"
}
if (preg_match("/^tf2/, $_POST['id'])) {
$_SESSION['game']=="tf2"
}
function startswith($haystack, $needle){
return strpos($haystack, $needle) === 0;
}
if (startswith($_POST['id'], 'gm')) {
$_SESSION['game'] = 'gmod';
}
if (startswith($_POST['id'], 'tf2')) {
$_SESSION['game'] = 'tf2';
}