PHP 实现explort() 功能的详解

yipeiwu_com5年前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安装memcached扩展笔记

PHP安装memcached扩展笔记

最近在服务器上部缓存系统,记录一下PHP安装memcached扩展。 复制代码 代码如下: # 安装服务端 yum install memcached -y I. launchpad...

php猴子选大王问题解决方法

本文实例讲述了php猴子选大王问题解决方法。分享给大家供大家参考。具体分析如下: 问题描述: 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,...

PHP上传文件时文件过大$_FILES为空的解决方法

在做图片上传的时候突然发现一张gif图片上传失败 size为0,实际大小为4.66M。上传小文件时可以,传大文件就不行,看了下PHP.INI里面upload_max_filesize =...

php模拟post行为代码总结(POST方式不是绝对安全)

这里提供两种方法供选择:第一:手写代码。第二:利用HttpClient php类库   第一种方法: 复制代码 代码如下: <?PHP $flag = 0; //要post的数据...

PHP魔术方法使用方法汇总

魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建...