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 相关文章推荐
3.从实例开始
Oct 09 PHP
一个程序下载的管理程序(四)
Oct 09 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
php创建、获取cookie及基础要点分析
Jan 26 PHP
php将字符串转换成16进制的方法
Mar 17 PHP
php给每个段落添加空格的方法
Mar 20 PHP
php计算整个mysql数据库大小的方法
Jun 19 PHP
PHP实现导出excel数据的类库用法示例
Oct 15 PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 PHP
php微信公众号开发之微信企业付款给个人
Oct 04 PHP
php链式操作的实现方式分析
Aug 12 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
无限级别菜单的实现
2006/10/09 PHP
PHP中的use关键字概述
2014/07/23 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
JavaScript canvas绘制渐变颜色的矩形
2020/02/18 Javascript
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
在Python的web框架中配置app的教程
2015/04/30 Python
python安装twisted的问题解析
2018/08/21 Python
Form表单及django的form表单的补充
2019/07/25 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
TCP/IP的分层模型
2013/10/27 面试题
渗透攻击的测试步骤
2014/06/07 面试题
优秀医生事迹材料
2014/02/12 职场文书
学员自我鉴定
2014/03/19 职场文书
房产代理公证处委托书
2014/04/04 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
工作简历的自我评价
2019/05/16 职场文书