2016-09-13 11 views
0

数字をスペースで区切ります。 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, ' '); 
関連する問題