str_split函数的实现问题

hackem 2009-08-10 08:58:58
if(!function_exists('str_split')){
function str_split($string,$split_length=1){
$count = strlen($string);
if($split_length < 1){
return false;
} elseif($split_length > $count){
return array($string);
} else {
$num = (int)ceil($count/$split_length);
$ret = array();
for($i=0;$i<$num;$i++){
$ret[] = substr($string,$i*$split_length,$split_length);
}

return $ret;
}
}
}

$ret[] = substr($string,$i*$split_length,$split_length);
这里,当每次for循环时,不就把上一次存入的字符给刷掉了吗?
...全文
175 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tfxg 2009-08-11
  • 打赏
  • 举报
回复
數據賦值不寫下標默認從0開始,下一次就加1
phpboy 2009-08-11
  • 打赏
  • 举报
回复
$ret[] 是一个数组,LZ 可以 print_r($ret[]) 看看
CYBEREXP2008 2009-08-11
  • 打赏
  • 举报
回复
楼上正解
  • 打赏
  • 举报
回复
for($i=0;$i <$num;$i++){
$ret[] = substr($string,$i*$split_length,$split_length);
}

这个跟c语言不一样的,PHP这样写,默认下标会从0开始递增,不会自动覆盖的。
因为你的$ret = array(); 是数组。
dzxccsu 2009-08-11
  • 打赏
  • 举报
回复
晕,你这样写$ret[]不就是个数组吗,默认数组,下标自动增加!
阿_布 2009-08-11
  • 打赏
  • 举报
回复
楼上正解
fenyao 2009-08-10
  • 打赏
  • 举报
回复
$ret[]代表从0开始键值自动增长
testoktest 2009-08-10
  • 打赏
  • 举报
回复
$ret[]
类似于
$ret[$i]

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧