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 01 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
php获取通过http协议post提交过来xml数据及解析xml
Dec 16 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
php实现文件下载实例分享
Jun 02 PHP
thinkphp特殊标签用法概述
Nov 24 PHP
Yii框架中memcache用法实例
Dec 03 PHP
php上传文件常见问题总结
Feb 03 PHP
php 利用array_slice函数获取随机数组或前几条数据
Sep 30 PHP
php如何获取文件的扩展名
Oct 28 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
thinkPHP内置字符串截取函数用法详解
Nov 15 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
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
彪马英国官网:PUMA英国
2019/02/11 全球购物
new修饰符是起什么作用
2015/06/28 面试题
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
求职者应聘的自我评价
2013/10/16 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
力克胡哲观后感
2015/06/10 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
Python基础之Socket通信原理
2021/04/22 Python