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

Rik*_*137 19 php session

if ($_POST['id'] beginsWith "gm") {
$_SESSION['game']=="gmod"
}
if ($_POST['id'] beginsWith "tf2") {
$_SESSION['game']=="tf2"
}
Run Code Online (Sandbox Code Playgroud)

如何做到这一点,它会工作?

Mat*_*att 34

你可以使用substring

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

编辑:修复了错误的函数名称(substring()使用过,应该是substr())

  • +1.这应该(略微)比strpos快,因为它不会在失败时遍历整个字符串. (3认同)

Jon*_*Jon 24

你可以写一个begins_with使用strpos:

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


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

// etc
Run Code Online (Sandbox Code Playgroud)


Roc*_*mat 4

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