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与ASP
Oct 09 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
小谈php正则提取图片地址
Mar 27 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 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面向对象分析设计的经验原则
2008/09/20 PHP
PHP网站基础优化方法小结
2008/09/29 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
基于js实现投票的实例代码
2015/08/04 Javascript
温习Javascript基础语法之词法结构
2016/05/31 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
2016/07/18 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
vue项目出现页面空白的解决方案
2019/10/31 Javascript
python读取与写入csv格式文件的示例代码
2017/12/16 Python
Python简单生成随机姓名的方法示例
2017/12/27 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
python Django的web开发实例(入门)
2019/07/31 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
银行实习的自我鉴定
2013/12/10 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
python实现自定义日志的具体方法
2021/05/28 Python