加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

一个char字符串后面的一个char,一个substr strpos优雅的解决方案

发布时间:2020-12-13 14:00:11 所属栏目:PHP教程 来源:网络整理
导读:假设我想要返回所有的字符后一些针char’x’从: $source_str =“Tuex helo宝贝”. 通常我会这样做: if( ($x_pos = strpos($source_str,'x')) !== FALSE ) $source_str = substr($source_str,$x_pos + 1); 你知道一个更好/更聪明(更优雅的方式)这样做吗?
假设我想要返回所有的字符后一些针char’x’从:

$source_str =“Tuex helo宝贝”.

通常我会这样做:

if( ($x_pos = strpos($source_str,'x')) !== FALSE )
   $source_str = substr($source_str,$x_pos + 1);

你知道一个更好/更聪明(更优雅的方式)这样做吗?

没有使用正则表达式,不会使它更优雅,也可能更慢.

不幸的是我们不能做:

$source_str = substr(source_str,strpos(source_str,'x') + 1);

因为当没有发现’x’时strpos返回FALSE(而不是像JS中的-1).
FALSE将评估为零,第一个char将永远被切断.

谢谢,

你的第一个方法很好:检查x是否包含在strpos中,如果是,则使用substr获取任何内容.

但您也可以使用strstr

strstr($str,'x')

但是,由于这返回以x开头的子字符串,所以使用substr来获取x之后的部分:

if (($tmp = strstr($str,'x')) !== false) {
    $str = substr($tmp,1);
}

但这更复杂.所以使用你的strpos方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读