小编Joh*_*Alt的帖子

PHP - 在字符串中间添加字符(从结尾开始)

如何在字符串中间添加字符?

我正在尝试将美国数字(例如2121231234)格式化为一个像这样的破折号:212-123-1234.

我事先不知道数字串会有多长,
可能是12121231234,甚至可能是0012121231234,
在这种情况下我希望它分别变成1212-123-1234和001212-123-1234 .

到目前为止,这是我提出的:

$phone_number = '2121231234';
$phone_number = str_split($phone_number); // [2,1,2,1,2,3,1,2,3,4]
$phone_number = array_reverse($phone_number); // [4,3,2,1,3,2,1,2,1,2]

array_splice($phone_number, 4, 0, '-'); // [4,3,2,1,-,3,2,1,2,1,2]
array_splice($phone_number, 8, 0, '-'); // [4,3,2,1,-,3,2,1,-,2,1,2]

$phone_number = array_reverse($phone_number); // [2,1,2,-,1,2,3,-,1,2,3,4]
$phone_number = implode($phone_number); // "212-123-1234"
Run Code Online (Sandbox Code Playgroud)

哪个有效,但似乎要完成这么简单的任务太多了.

我错过了什么?

php string character string-formatting phone-number

5
推荐指数
1
解决办法
8380
查看次数

标签 统计

character ×1

phone-number ×1

php ×1

string ×1

string-formatting ×1