如果字符串以“xx”开头(PHP)

时间:2011-04-29 16:49:00

标签: php session

if ($_POST['id'] beginsWith "gm") {
$_SESSION['game']=="gmod"
}
if ($_POST['id'] beginsWith "tf2") {
$_SESSION['game']=="tf2"
}

如何做到这一点才有用?

5 个答案:

答案 0 :(得分:34)

您可以使用substring

if(substr($POST['id'],0,3) == 'tf2')
 {
  //Do something
 }

编辑:修复了错误的函数名称(substring()使用的substr()}

答案 1 :(得分:24)

您可以使用strpos撰写begins_with

function begins_with($haystack, $needle) {
    return strpos($haystack, $needle) === 0;
}


if (begins_with($_POST['id'], "gm")) {
    $_SESSION['game']=="gmod"
}

// etc

答案 2 :(得分:4)

if (strpos($_POST['id'], "gm") === 0) {
  $_SESSION['game'] ="gmod"
}
if (strpos($_POST['id'],"tf2") === 0) {
  $_SESSION['game'] ="tf2"
}

答案 3 :(得分:3)

不是最快的方法,但你可以使用正则表达式

if (preg_match("/^gm/", $_POST['id'])) {
    $_SESSION['game']=="gmod"
}
if (preg_match("/^tf2/, $_POST['id'])) {
    $_SESSION['game']=="tf2"
}

答案 4 :(得分:2)

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';
}

请注意,为变量赋值时,请使用单个=