Php 如何检查变量中的前三个字符?

Php 如何检查变量中的前三个字符?,php,Php,我有一个变量,它包含如下内容ab_123456789 如何检查变量是否以ab\uu开头 谢谢, sebastian使用正则表达式 $var = "ab_123456789"; if(preg_match('/^ab_/', $var, $matches)){ /*your code here*/ } 您可以使用: 这很容易,因为可以像访问字符数组一样访问字符串。所以你只需要做一些事情,比如: if ($var[0] == "a" && $var[1] == "b" &a

我有一个变量,它包含如下内容
ab_123456789

如何检查变量是否以
ab\uu
开头

谢谢,
sebastian使用正则表达式

$var = "ab_123456789";
if(preg_match('/^ab_/', $var, $matches)){
    /*your code here*/
}
您可以使用:


这很容易,因为可以像访问字符数组一样访问字符串。所以你只需要做一些事情,比如:

if ($var[0] == "a" && $var[1] == "b" && $var[2] == "c")
  return true
您还可以使用php库中的find函数。

另一种方法是使用:

此处
substr
用于将从位置0开始的前3个字节作为字符串,然后与
'ab_uu'
进行比较。如果要添加不区分大小写,请使用


编辑为了使使用更舒适,您可以使用以下
启动功能
功能:

function startsWith($str, $prefix, $case_sensitivity=false) {
    if ($case_sensitivity) {
        return substr($str, 0, strlen($prefix)) === $prefix;
    } else {
        return strcasecmp(substr($str, 0, strlen($prefix)), $prefix) === 0;
    }
}
请注意,这些函数不支持多字节字符,因为只比较字节。具有多字节支持的等效函数可能如下所示:

function mb_startsWith($str, $prefix, $case_sensitivity=false) {
    if ($case_sensitivity) {
        return mb_substr($str, 0, mb_strlen($prefix)) === $prefix;
    } else {
        return mb_strtolower(mb_substr($str, 0, mb_strlen($prefix))) === mb_strtolower($prefix);
    }
}

这里假定两个字符串的字符编码都是相同的。

最简单的方法是获取子字符串。e、 g.
substr('ab_123456789',0,3)

preg_match将返回0,如果没有匹配项或是一个整数表示找到匹配项的次数。请注意,
strpos
将一直搜索,直到找到匹配项或字符串结束。字符串在PHP中不是数组。@Daniel Egeberg:但是字符串可以像数组一样访问。看,它不是数组对象,但你可以像访问数组一样访问它。@Gumbo:我认为Daniel Egeberg的意思是,答案暗示字符串是数组,而不是数组。不过,关于使用数组表示法进行访问的部分是正确的。
function startsWith($str, $prefix, $case_sensitivity=false) {
    if ($case_sensitivity) {
        return substr($str, 0, strlen($prefix)) === $prefix;
    } else {
        return strcasecmp(substr($str, 0, strlen($prefix)), $prefix) === 0;
    }
}
function mb_startsWith($str, $prefix, $case_sensitivity=false) {
    if ($case_sensitivity) {
        return mb_substr($str, 0, mb_strlen($prefix)) === $prefix;
    } else {
        return mb_strtolower(mb_substr($str, 0, mb_strlen($prefix))) === mb_strtolower($prefix);
    }
}