php
PHP - str_split 함수
array str_split ( string $string [, int $split_length ] )
(PHP 5)
이 함수는 문자열을 배열로 변환합니다. 일반적으로 split 함수와 비슷하게 동작합니다.
서버 환경이 PHP 5 이하 버전이라면 다음 함수로 대체할 수 있습니다.
(PHP 5)
이 함수는 문자열을 배열로 변환합니다. 일반적으로 split 함수와 비슷하게 동작합니다.
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
print_r($arr1);
/*
결과:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
*/
// 문자열을 3글자씩 잘라 배열로 반환합니다.
$arr2 = str_split($str, 3);
print_r($arr2);
/*
결과:
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
*/
?>
<?php
function str_rsplit($str, $sz){
if ( !$sz ) {
return false;
}
if ( $sz > 0 ) {
return str_split($str,$sz);
}
$l = strlen($str);
$sz = min(-$sz,$l);
$mod = $l % $sz;
if ( !$mod ) {
return str_split($str,$sz);
}
return array_merge(array(substr($str,0,$mod)),
str_split(substr($str,$mod),$sz));
}
$str = 'aAbBcCdDeEfFg';
str_split($str,5); // 결과: {'aAbBc','CdDeE','fFg'}
str_rsplit($str,5); // 결과: {'aAbBc','CdDeE','fFg'}
// -5 -4 -3 -2 -1 1 ...
// 음수는 끝에서 개수를 세고
// -1에서 바로 양수 1로 넘어감
str_rsplit($str,-5); // 결과: {'aAb','BcCdD','eEfFg'}
?>
서버 환경이 PHP 5 이하 버전이라면 다음 함수로 대체할 수 있습니다.
<?php
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;
}
}
}
?>
0 댓글