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循环时,不就把上一次存入的字符给刷掉了吗?
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循环时,不就把上一次存入的字符给刷掉了吗?
$ret[] = substr($string,$i*$split_length,$split_length);
} 这个跟c语言不一样的,PHP这样写,默认下标会从0开始递增,不会自动覆盖的。
因为你的$ret = array(); 是数组。