PHP内置字符串函数实现

1.获取字符串长度

function strlen($str)
{
    if ($str == '') {
        return 0;
    }
        $count = 0;
        while (1){
            if ($str[$count] != NULL) {
                $count++;
                continue;
            } else {
                break;
            }
        }
        return $count;
}
复制代码

2.截取字符串

function substr($str, $start, $length=NULL)

{
    if ($str=='' || $start>strlen($str)) return;
    if (($length!=NULL) && ($start>0) && ($length>strlen($str)-$start)) return;
    if (($length!=NULL) && ($start<0) && ($length>strlen($str)+$start)) return;
    if ($length == NULL) $length = (strlen($str) - $start);
    if ($start < 0){
        for ($i=(strlen($str)+$start); $i<(strlen($str)+$start+$length); $i++) {
            $substr .= $str[$i];
        }
    }
    if ($length > 0){
       for ($i=$start; $i<($start+$length); $i++) {
            $substr .= $str[$i];
        }
    }
    if ($length < 0){
        for ($i=$start; $i<(strlen($str)+$length); $i++) {
            $substr .= $str[$i];
        }
    }
    return $substr;
}
复制代码

3.字符串翻转

function strrev($str)
{
    if ($str == '') return 0;
    for ($i=(strlen($str)-1); $i>=0; $i--){
        $rev_str .= $str[$i];
    }
    return $rev_str;
}
复制代码

4.字符串比较

function strcmp($s1, $s2)
{
    if (strlen($s1) < strlen($s2)) return -1;
    if (strlen($s1) > strlen($s2)) return 1;
    for ($i=0; $i<strlen($s1); $i++){
        if ($s1[$i] == $s2[$i]){
           continue;
        } else { 
            return false;
        }
    }
   return 0;
}
复制代码

5.查找字符串

function strstr($str, $substr)
{
    $m = strlen($str);
    $n = strlen($substr);
    if ($m < $n) return false;
    for ($i=0; $i<=($m-$n+1); $i++){
        $sub = substr($str, $i, $n);
        if (strcmp($sub, $substr) == 0)  return $i;
    }
   return false;
}
复制代码

6.字符串替换

function str_replace($substr, $newsubstr, $str)
{
    $m = strlen($str);
    $n = strlen($substr);
    $x = strlen($newsubstr);
    if (strchr($str, $substr) == false) return false;
    for ($i=0; $i<=($m-$n+1); $i++){
        $i = strchr($str, $substr);
        $str = str_delete($str, $i, $n);
        $str = str_insert($str, $i, $newstr);
    }
    return $str;
}
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值