PHP 实现explort() 功能的详解

yipeiwu_com7年前PHP代码库
复制代码 代码如下:

<?php
/**
 * PHP 实现explort() 功能的详解
 */
$str = ',1,2,3,4,321321,aaa,bbb';
function myExplode($seg,$str,$limit=0){
   $_ret = array(0=>'');
   $len = strlen($str);
   $slen = strlen($seg);
   $_limit = 0;
   for($i=0; $i<$len; $i++){
      if(substr($str,$i,$slen) == $seg ){
          $_limit++;
          $i += $slen-1;
          continue;
      }else{
          $_ret[$_limit] .= $str[$i];
      }
   }
   if($limit < 0 )
      $_ret = array_slice($_ret, 0 , $limit );
   else{
      $_ret = $limit >= count($_ret) ? $_ret :  array_merge(array_slice($_ret, 0 , $limit-1 ), array(implode( $seg , array_slice($_ret,$limit-1))));
   }
   return $_ret;
}
var_dump(myExplode("4",$str));
echo "<br>";
var_dump(explode("4",$str));
echo "<br>";
?>

支持 limit 为负。。分割符为字符串

相关文章

PHP入门教程之操作符与控制结构流程详解

本文实例讲述了PHP入门教程之操作符与控制结构流程。分享给大家供大家参考,具体如下: Demo1.php <?php $username = "chaoyv";...

PHP实现的杨辉三角求解算法分析

PHP实现的杨辉三角求解算法分析

本文实例讲述了PHP实现的杨辉三角求解算法。分享给大家供大家参考,具体如下: ♥ 前言 对于 杨辉三角 是什么的问题,请参考百度百科的详细解释: 杨辉三角 杨辉三角,是二项...

php输出反斜杠的实例方法

php输出反斜杠的实例方法

按常规写法,我们要输出反斜杠,那就在输出字符串里直接写上反斜杠的符号,但这样可以吗?我们尽管试一下。 运行这个代码的页面,发现页面报错了,报的是语法错误。 为什么会这样,从php文档...

php设计模式 Composite (组合模式)

复制代码 代码如下: <?php  /**  * 组合模式  *  * 将对象组合成树形结构以表示"部分-整体"的层次结构,使得客户对单个对...

PHP APC配置文件2套和参数详解

一、安装APC下载 http://pecl.php.net/get/APC-3.1.9.tgz 编译参数如下:复制代码 代码如下:./configure --enable-apc --e...