PHP中如何判断一个字符串中是否有某个字符?
一、PHP中如何判断一个字符串中是否有某个字符?
PHP中如何判断一个字符串中是否有某个字符,如下:
PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用。PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数。
1. strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含
代码如下:
< ?php
/如手册上的举例/
\(email = 'user@example.com'; </p><p>\)domain = strstr(\(email, '@'); </p><p>echo \)domain;
// prints @example.com
?>
2. stristr: 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
3. strpos: 返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.
PHP判断字符串的包含代码如下:
\(str= 'abc'; </p><p>\)needle= ‘a’;
\(pos = strpos(\)str, \(needle); </p><p>4. 用explode进行判断 </p><p>PHP判断字符串的包含代码如下:</p><p>function checkstr(\)str){
\(needle = "a";//判断是否包含a这个字符 </p><p>\)tmparray = explode(\(needle,\)str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}
二、\(newstring = abcdef abcdef abcdef abcdef \)pos = strpos(\(newstring, a echo \)pos;
s个字符串的offset,不是匹配中的第几个。
两种解决方法:
第一,使用strpos循环3次,每次更换offset。
第二,使用preg_match_all的PREG_OFFSET_CAPTURE属性,直接获取第三次的下标。
下面是源码:

<?php
$newstring = ‘abcdef abcdef abcd’;
$index = 3; //你指定的第三个
//方法(\(i=1;\)i<=\(index;\)i++){
\(pos = strpos(\)newstring,‘a’,$offset);
if($pos === false) break;
\(offset = \)pos + 1;
if(\(i == \)index){ //第三次匹配结束
break;
}
}
echo $pos; //没有匹配成功为false
//方法二
pregl(‘/a/’,\(newstring,\)matches,PREG_OFFSET_CAPTURE);
echo \(matches[0][\)index-1][1]; //没有匹配成功为hp
三、拉卡拉pos机安全靠谱吗?
拉卡拉POS机最大的问题在于跳码,这也是国内POS机市场最严重的问题。因为正常的费率是0.6%+3,低于这个费率的不用考虑了,因为没有人是做慈善的,而等于这个费率的,不赚钱也不可能。但是为了吸引客户,这些POS机厂商肯定会努力降低自己的费率。其中他们盈利就靠机器跳码,来赚取相应的差价,获取利润。其实查询POS是否跳码的方法也很简单,只是太多的人不知道罢了。我们只要下一个叫“云闪付”的软件,自己就能一分钟查询我们的交易的商户是否真实,以及刷卡是否有积分等等。楼主可以参考百度经验——快速查询POS交易是否真实,是否有积分!以及查询的视频快速查询POS是否恶意跳码,以及刷卡是否有积分!