PHP 实现explort() 功能的详解

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?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获取客户端IP及URL的方法示例

本文实例讲述了php获取客户端IP及URL的方法。分享给大家供大家参考,具体如下: function getonlineip(){//获取用户ip if($_SERVER['HT...

php做下载文件的实现代码及文件名中乱码解决方法

最近有人问我做下载文件的方法,对于php方法如下: 复制代码 代码如下: <?php header("Content-Type: application/force-downloa...

PHP/HTML混写的四种方式总结

PHP/HTML混写的四种方式总结

PHP作为一款后端语言,为了输出给浏览器让浏览器呈现出来,无可避免的要输出HTML代码,下文介绍下我用过的三种PHP/HTML混编方法 1、单/双引号包围法 这是最初级的方法了,用法就像...

php简单smarty入门程序实例

本文实例讲述了php简单smarty入门程序。分享给大家供大家参考。具体如下: 首先要有3个文件夹configs、templates、templates_c,在configs文件夹中有一...

PHP中list方法用法示例

本文实例讲述了PHP中list方法用法。分享给大家供大家参考,具体如下: <?php function small_numbers() { return array...