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 相关文章推荐
基于mysql的bbs设计(二)
Oct 09 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
基于PHP+Ajax实现表单验证的详解
Jun 25 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
PHP生成树的方法
Jul 28 PHP
PHP可变函数学习小结
Nov 29 PHP
php时间计算相关问题小结
May 09 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 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 获取当前访问的url文件名的方法小结
2010/02/08 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
php反射应用示例
2014/02/25 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
Python处理字符串之isspace()方法的使用
2015/05/19 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
Python-openCV开运算实例
2020/07/05 Python
python Cartopy的基础使用详解
2020/11/01 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
网站设计师的岗位职责
2013/11/21 职场文书
战友聚会邀请函
2014/01/18 职场文书
美德好少年主要事迹
2014/01/29 职场文书
大学生见习报告范文
2014/11/03 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
自荐信大全
2019/03/21 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
python全面解析接口返回数据
2022/02/12 Python