2011-07-13 6 views
1

は、私は以下の持って言う:変数のスタイリング?

$var = "1234567890"; 

は、私はそれを表示するよう:最初の4つの数字で

1234 567 890 

、スペース、そして3つの数字、スペース、そして3つの数字。

どうすればいいですか?

いただきありがとうございます:)

+0

がどのようにしてくださいご入力のことをしていますか?それが10桁の100%になることが分かっているなら、substrを使うことができます – zzzzBov

答えて

3

をあなたがsubstr使用することができます。これを行う前に

echo substr($var, 0, 4) . ' ' . substr($var, 4, 3) . ' ' . substr($var, 7, 3); 

を、しかし、あなたはおそらく、必ず文字列はあなたはそれがあることを期待長さであり、唯一持っている作るためにチェックする必要がありますそのようなことでは数字、:

if (strlen($var) == 10 && is_numeric($var)) 
{ 
    // $var passed the check 
} 
else 
{ 
    // $var failed the check 
} 
1

は、あなたのデータが有効な10桁の数字であると仮定すると、
echo substr($var, 0, 4) . ' ' . substr($var, 4, 3) . ' ' . substr($var, 7); 
1

あなたも、特定されていない場合、あなたが行うことができます:

$var = substr($var,0,4)." ".substr($var,4,3)." ".substr($var,7); 

あなたが説明するようにこれはそれを破るだろう、と「おまけ」として、それは上に追加の文字を無制限に戻ります入力が予想よりも大きい場合、終了。代わりにあなたが行うことができる

$var = substr($var,0,4)." ".substr($var,4,3)." ".substr($var,7,3); 

10を過ぎて数字を切り捨てます。あなたはまた、正規表現を使用でき

0

$var = preg_replace("@(\d{4})(\d{3})(\d{3})@", "\\1 \\2 \\3", $var); 

のか、より正確には:

$var = preg_replace("@^(\d{4})(\d{3})(\d{3})[email protected]", "\\1 \\2 \\3", $var); 
関連する問題