PHP字符串练习题

      题目要求:将一个字符串1234567890转换成1,234,567,890

      解法一:将这两个字符串倒序来看即将0987654321转换成098,765,432,1,那么可以将0987654321分割成每个单元是三个长度字符串的数组array(098,765,432,1),然后将数组和逗号结合成字符串,然后反转即可得到最终结果

$str='1234567890';
function change($str)
{
    $str1=strrev($str);    //先将字符串反转
    $arr=str_split($str1,3);    //分割成每个单元字符串长度是3的数组
    $str2=implode($arr,',');    //将字符串和,相结合成字符串
    echo strrev($str2);       //再反转得到最终结果
}
change($str);

      解法二:可以利用函数chunk_split($str,length,$s)在0987654321的每三个子字符串后面加上逗号,然后反转回来去掉左边的逗号即可。

$str='1234567890';
function get($str)
{
    $str1=strrev($str);    //先将字符串反转
    $str2=chunk_split($str1,3,',');   //在每个长度是3的子字符串后加,
    $str3=strrev($str2);      //反转回来
    $str4=ltrim($str3,',');   //去掉左边的,
    echo $str4;
}
get($str);

     解法三:可以将1234567890看成数字,那么可以直接利用数字格式化函数number_format()函数直接得出所需结果

$str='1234567890';
$str1=number_format($str);
echo $str1,'<br>';
原文地址:https://www.cnblogs.com/houtaoliang/p/4758164.html