复制代码 代码如下:
<?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 实现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,explort
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“PHP 实现explort() 功能的详解”评论...