2016-09-13 2 views
0

공백으로 숫자를 구분하려면 4로 설정하십시오. 1234567890, 될 1234 5678 90문자열에 여러 번 문자를 추가하는 경우

나는 이것을 달성하기 위해 스크립트를 만들 수 있었지만, 맨 위에있는 것 같아요, 이것을 달성하기 쉬운 방법이 있습니까?

$num = 23853267362365; 
$count = strlen($num)/4; 

$new_num = array(); 
for ($x = 1; $x <= $count; $x++) { 
    $num_len = strlen($num); 
    if($num_len>4) { 
     $new_num[] = substr($num,0,4); 
     $num = substr($num,4,$num_len-4); 
    } 
} 

$num = implode(' ',$new_num); 
+1

'preg_replace ('/ (\ d {4})/','$ 1 ', $ str)'? –

+0

@MarcB : 문자열이 4로 나눌 수 있다면 후행 공백이 생깁니다. – AbraCadaver

답변

0

chunk_split() 대답; Jessie Jackson의 답변만큼 좋지는 않지만 모든 청크 길이에 적용 할 수 있습니다.

$start_num = 23853267362365; 
$chunk_length = 4; // change to whatever length you need 
$count = ceil(strlen($num)/$chunk_length); 

$concat =''; // initiate 
for ($x = 0; $x < $count; $x++) { 
    $concat .= substr($start_num, ($chunk_length * $x), $chunk_length) . ' '; 
} 

$new_num = rtrim($concat, ' '); 
관련 문제