PHP基础教程(十一)字符串函数详解

1.字符串长度函数

字符串长度函数:strlen(); 计算的是字符串的字节长度; mb_strlen(); 是根据编码计算字符串的字符个数。

utf-8 编码规则中,一个中文占三个字节,gbk 编码格式中是一个汉字占两个字节。

2.查找字符串中子字符串位置的函数

strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ); 第二个参数的意思是可以传混合类型;(无论是在字符串中还是在数组中都是从零开始读取其中内容的)。

offset 的作用,除了第一次出现的字符,这个字符第二次还会不会出现?offset 的意思就是说,把光标先偏移一段距离,再查找,别从头开始查找。

在计算机里,ascll 字符集中,如果你的第二个参数写的是整形,则把它理解为 ascll 字符的编码。

注意,当你查找的字符在字符串中的第一个位置时,如果用简单的 if 判断,此时的函数并不能识别第一个找到的字符,因为字符串是从零开始识别的。所以这时候你要这样用:注意这里的===(去等于号)(在 strpos 这里三等于和两等于的区别很好的体现出来了)。

思考题:用for循环或while循环,配置strpos,计算某父串中子串的个数?

<?php
    function subnum($str, $sub){
        //子串的长度
        $sublen = strlen($sub);
        //父串的长度
        $strlen = strlen($str);

        if($sublen > $strlen){
            return 0;
        }

        for($offset=0,$num=0; ($offset=strpos($str,$sub,$offset)) != false;){
            $num += 1;
            $offset += $sublen;
        }
        return $num;
    }

    $str = 'wo ni ta ta ni wo wo';
    $sub = 'wo';

    echo subnum($str,$sub);
/*
php的字符串函数非常强大,你要是不了解,可能会多花很多的冤枉时
间,做很多的无用功,去费力写出一个函数,结果其实早就已经存在。其实只需要一个函数帮你解决问题了,所以一定要熟悉php的字符串函数(上面的那个思考题,可以直接用一个字符串函数实现,比如说substr_count())。
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值