-2

我得到一个字符串0699245221,我想要这个结果06-99-24-52-21,你知道最好的解决方案吗?(忘记循环,或其他,我确定 php 有这个“功能”。

提前致谢。

4

6 回答 6

2

http://www.php.net/manual/es/function.wordwrap.php

$str = "0699245221";
$str = wordwrap($str, 2, '-', true);

输出:06-99-24-52-21

于 2013-03-19T09:33:03.667 回答
2
 $string  = '0699245221';
 $modified_string = wordwrap($string, 2, '-', true);
于 2013-03-19T09:37:57.093 回答
1

试试这个 :

$str  = '0699245221';
echo $res  = implode("-",str_split($str, 2));

或者

$str  = '0699245221';
echo $res  = chunk_split ($str, 2, '-');

第二个有一个问题,它-在最后添加了一个

于 2013-03-19T09:32:50.937 回答
1

试试这个

<?php
    $value  = '0699245221';
    echo $res  = implode("-",str_split($value, 2));
?>

输出

06-99-24-52-21
于 2013-03-19T09:33:17.280 回答
1

有很多方法可以做到这一点。你可以使用这样的东西:

function addDashes($str) {
    $str = str_split($str, 2);
    $str = implode("-", $str);
    return $str;
}

或这个:

function addDashes($str) {
    $str = chunk_split($string, 2, "-");
    $str = substr($str, 0, -1);
    return $str;
}
于 2013-03-19T09:34:34.733 回答
0

这是尝试过的完美解决方案,他给你这样的结果 06-99-24-52-21

<?php
$str = "0699245221";
$str1= chunk_split($str,2,"-");
$str1=rtrim($str1,"-");
echo $str1;
?>  
于 2014-03-23T10:18:00.200 回答