请问这个函数怎么正确使用

<?php
$a = '12345';
if(strpos($a,'1')){
    echo 'yes';
}else{
    echo 'no';
}
?>

返回的是no,而查找1以上的字符串2345都是返回yes,这是怎么回事

NiHao_0002
浏览 1659回答 4
4回答

vLiang

strpos 是查找字符串在当前字符串中第一次出现的位置,存在返回数字,如果不存在返回false。因为字符串第一个位置是从0开始,查找1会返回0。0在php中if中会判断为false,所以搜索1的时候返回no。可以通过is_int();进行判断:is_int(strpos($a,'1'))这样搜索1的时候会判断为true,返回yes

vincent_ds

查找1的时候 结果为0,在判断的时候,0自动转化成false了,所以输出是no

siniyz

这个是什么东西啊.

WilliamWei

1的位置是0,0表示false,其他的表示true
打开App,查看更多内容
随时随地看视频慕课网APP