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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
Feb 22 PHP
PHP获取文件夹大小函数用法实例
Jul 01 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
PHP函数积累总结
Mar 19 PHP
php自动加载代码实例详解
Feb 26 PHP
php命令行模式代码实例详解
Feb 26 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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
php微信公众平台开发类实例
2015/04/01 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
jquery text()要注意啦
2009/10/30 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
python图形界面开发之wxPython树控件使用方法详解
2020/02/24 Python
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
ORACLE第二个十问
2013/12/14 面试题
Ajax主要包含了哪些技术
2014/06/12 面试题
中软国际Java程序员机试题
2012/08/19 面试题
物流专业大学生求职信范文
2013/10/28 职场文书
物业电工岗位职责
2013/11/20 职场文书
经典安踏广告词
2014/03/21 职场文书
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
任命书格式范文
2015/09/22 职场文书
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android