php strpos 查找
程序员文章站
2022-04-30 16:46:45
...
需要调用strpos来查找一个字符串中存在的子串
参数如果直接写字符串,canFindApn(“abcdefg”,"efg")这样没有问题,只要我通过另外一个函数调用这个函数,并传递字符串,返回值就不正确,也试着自己写一个函数,也是调用的时候返回值总是false,直接写字符串就没问题。
如果我要通过调用的方式来判读字符串是否存在该子串,应该怎么写呢?
++
function canFindApn($line,$apnName){ $pos=strpos($line2, $apnName); if ($pos!==false){ echo $line2." contains".$apnName."
"; return true; }else{ echo $line2." not contains".$apnName."
"; return false; }
参数如果直接写字符串,canFindApn(“abcdefg”,"efg")这样没有问题,只要我通过另外一个函数调用这个函数,并传递字符串,返回值就不正确,也试着自己写一个函数,也是调用的时候返回值总是false,直接写字符串就没问题。
如果我要通过调用的方式来判读字符串是否存在该子串,应该怎么写呢?
回复讨论(解决方案)
不可能吧,你贴出你调用的代码看看。
你在这个函数里加一句,把$line2, $apnName具体值echo出来看看传进去的是什么,如果是字符串应该不会错的
我也没有发现你说的情况,你可以把你调用的代码帖出来看看。
你的代码在任何时候都不会得到正确结果!
function canFindApn($line,$apnName){
$pos=strpos( $line2, $apnName);
这个 $line2 是哪里来的?
你的代码在任何时候都不会得到正确结果!
function canFindApn($line,$apnName){
$pos=strpos( $line2, $apnName);
这个 $line2 是哪里来的?
++
发现传进去的参数$apnName 结尾加了
,所以一直匹配不对。echo打印页看不出来,看了网页源码看到了。
多谢各位帮助!