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>';