PHP 实现explort() 功能的详解


Posted in PHP onJune 20, 2013
<?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数组
Oct 09 PHP
社区(php&amp;&amp;mysql)三
Oct 09 PHP
isset和empty的区别
Jan 15 PHP
php学习 函数 课件
Jun 15 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
Oct 14 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
PHP实现重载的常用方法实例详解
Oct 18 PHP
PHP变量的作用范围实例讲解
Dec 22 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 #PHP
使用Linux五年积累的一些经验技巧
Jun 20 #PHP
解析PHP高效率写法(详解原因)
Jun 20 #PHP
php代码书写习惯优化小结
Jun 20 #PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
Jun 20 #PHP
解析如何用php screw加密php源代码
Jun 20 #PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 #PHP
You might like
在同一窗体中使用PHP来处理多个提交任务
2006/10/09 PHP
PHP 远程关机实现代码
2009/11/10 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
详解node child_process模块学习笔记
2018/01/24 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
使用python加密自己的密码
2015/08/04 Python
十个Python程序员易犯的错误
2015/12/15 Python
Python魔法方法详解
2019/02/13 Python
pycharm快捷键汇总
2020/02/14 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
介绍一下SQL Server的全文索引
2013/08/15 面试题
机械专业个人求职自荐信格式
2013/09/21 职场文书
幼儿园教师培训制度
2014/01/16 职场文书
火灾现场处置方案
2014/05/28 职场文书
2014年手术室工作总结
2014/11/26 职场文书
中秋节慰问信
2015/02/15 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
中学团支部工作总结
2015/08/13 职场文书
canvas多重阴影发光效果实现
2021/04/20 Javascript
详解Redis瘦身指南
2021/05/26 Redis
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技