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版自动生成文章摘要
Jul 23 PHP
php下关于中英数字混排的字符串分割问题
Apr 06 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
php实现按照权重随机排序数据的方法
Jan 09 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
功能强大的php分页函数
Jul 20 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
php访问数组最后一个元素的函数end()用法
2015/03/18 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
js计算精度问题小结
2013/04/22 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
python第三方库学习笔记
2020/02/07 Python
sklearn+python:线性回归案例
2020/02/24 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
蔻驰美国官网:COACH美国
2016/08/18 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
一道输出判断型Java面试题
2014/10/01 面试题
研究生求职推荐信范文
2013/11/30 职场文书
2014全国两会大学生学习心得体会
2014/03/10 职场文书
单位租车协议书
2015/01/29 职场文书
讲座新闻稿
2015/07/18 职场文书
思想工作总结范文
2015/08/12 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
Mysql忘记密码解决方法
2022/02/12 MySQL