PHP 判断是否包含在某个字符串中
1.用strpos函数,查找字符首次出现的位置,如果不存在则会返回false
$str= ‘abc’;
$needle= ‘e’;
p
o
s
=
s
t
r
p
o
s
(
pos = strpos(
pos=strpos(str, $needle);
2.用strstr函数查找字符在字符串中首次出现,并返回字符出现开始的位置至结束的字符串
$email = ‘user@example.com’;
d
o
m
a
i
n
=
s
t
r
s
t
r
(
domain = strstr(
domain=strstr(email, ‘@’);
3.用explode分割字符串,如果返回的数组长度大于一则表示存在
$str= ‘abc’;
$needle = ‘E’;//判断是否包含a这个字符
t
m
p
a
r
r
a
y
=
e
x
p
l
o
d
e
(
tmparray = explode(
tmparray=explode(needle,$str);
4.用in_array检查数组中是否存在某个值
// bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
//in_array()例子
o
s
=
a
r
r
a
y
(
"
M
a
c
"
,
"
N
T
"
,
"
I
r
i
x
"
,
"
L
i
n
u
x
"
)
;
i
f
(
i
n
a
r
r
a
y
(
"
I
r
i
x
"
,
os=array("Mac","NT","Irix","Linux"); if(in_array("Irix",
os=array("Mac","NT","Irix","Linux");if(inarray("Irix",os)){
echo “Got Irix”;
}
if(in_array(“mac”,$os)){
echo “Got mac”;
}
//第二个条件失败,因为in_array()是区分大小写的 所以只输出Got Irix
//in_array() 严格类型检查例子
$a = array(‘1.10’, 12.4, 1.13);
if (in_array(‘12.4’, $a, true)) {
echo “‘12.4’ found with strict check\n”;
}
if (in_array(1.13, $a, true)) {
echo “1.13 found with strict check\n”;
}
//程序会输出1.13 found with strict check
//in_array()中数组作为needle
$a = array(array(‘p’, ‘h’), array(‘p’, ‘r’), ‘o’);
if (in_array(array(‘p’, ‘h’), $a)) {
echo “‘ph’ was found\n”;
}
if (in_array(array(‘f’, ‘i’), $a)) {
echo “‘fi’ was found\n”;
}
if (in_array(‘o’, $a)) {
echo “‘o’ was found\n”;
}
//程序会输出
//‘ph’ was found
//‘o’ was found