この電話番号を回す必要があります:
5555555555
区切り文字を使用してこの文字列に変換します。
"555.555.5555"
これが私のコードです:
$phone = 5555555555;
$phoneArray = explode(2, $phone);
print_r($phoneArray);
そして、これを返します:
Array ( [0] => 555 [1] => [2] => 55555 )
私は何を間違っていますか?
次のようなものが必要です。
$number = '123456789';
$segments = array();
$segments[] = substr($number, 0, 3);
$segments[] = substr($number, 3, 3);
$segments[] = substr($number, 6, 4);
$number = implode('.', $segments); // Comes out to 123.456.7890
最初にいくつかのフォーマットチェックを行う必要があることに注意してください。分割記号なしで実際に10桁の数字を入力したことを確認する必要があります。
これを行う方法はたくさんあり、RegExは必須ではありませんが、RegExを使用した簡単な方法を次に示します。
$phone = '5555555555';
echo preg_replace('/(\d{3})(\d{3})(\d{4})/', "$1.$2.$3", $phone);
乾杯
文字列内に分割を引き起こす既知の区切り文字がないため、おそらくexplodeを使用したくないでしょう。str_split($ phone、3)を使用すると、3の3つの配列要素と1の4番目の配列要素が得られます。最初の2つを保持し、最後の2つを3番目の配列要素にマージします。
$phone = 5555555555;
$phoneArray = str_split($phone,3);
$phoneArray[2] .= phoneArray[3];
print_r($phoneArray);
お役に立てば幸いです。