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>‘;
时间: 2024-12-21 22:22:13

PHP字符串练习题的相关文章

43 正则中用sub和subn函数搜索与替换 使用split函数分隔字符串 练习题

第10课 正则中用sub和subn函数搜索与替换 # 使用sub和subn函数搜索和替换 ''' sub(正则表达式,要替换的字符串,母字符串) ''' import re result = re.sub('Bill','Mike', 'Bill is my son.') print(result) # Mike is my son. 把Bill 替换成 Mike result = re.subn('Bill', 'Mike', 'Bill is my son, I like Bill') pr

字符串练习题

#region 练习一 //课上练习1:接收用户输入的字符串,将其中的字符以与输入相反的顺序输出."abc"→"cba" string str = "abcefg"; //思路:先将这个字符串转换成数组 char[] chs = str.ToCharArray(); //对数组进行反序 for (int i = 0; i < chs.Length / 2; i++) { char temp = chs[i]; chs[i] = chs[ch

C#高级------字符串练习题

class Program { static void Main(string[] args) { //字符串练习一:接收用户输入的字符串,将其中的字符以输入相反的顺序输出 Console.WriteLine("请输入一个字符串"); string s = Console.ReadLine(); s = ReverStr(s); Console.WriteLine(s); Console.ReadKey(); } private static string ReverStr(strin

字符串练习题(二):词语变形

对于两个字符串A和B,如果A和B中出现的字符种类相同且每种字符出现的次数相同,则A和B互为变形词,请设计一个高效算法,检查两给定串是否互为变形词. 给定两个字符串A和B及他们的长度,请返回一个bool值,代表他们是否互为变形词. 测试样例: "abc",3,"bca",3 返回:true public class Transform { public boolean chkTransform(String A, int lena, String B, int len

字符串练习题(三):句子的逆序

对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成,你需要将这些部分逆序. 给定一个原字符串A和他的长度,请返回逆序后的字符串. 测试样例: "dog loves pig",13 返回:"pig loves dog" public class Reverse { public String reverseSentence(String A, int n) { // write code here if(n==0|

字符串练习题(五):拼接最小字典序

对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的. 给定一个字符串数组strs,同时给定它的大小,请返回拼接成的串. 测试样例: ["abc","de"],2 "abcde" public class Prior { public String findSmallest(String[] strs, int n) { // write code here Arrays.sort(strs,

字符串练习题(六): 空格替换

请编写一个方法,将字符串中的空格全部替换为“%20”.假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成. 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string. 测试样例: "Mr John Smith”,13 返回:"Mr%20John%20Smith" ”Hello World”,12 返回:”Hello%20%20World” public

Java字符串练习题

目录 1."a"+"b"+"c"+"d"+"e"+"f"+"g"+"h"改写上面的代码,打印结果 2.给定一个长度,随机产生一个该长度的字符串,由大写,小写字母以及数字组成 第一种: 第二种: 3.给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置. 4.给定一个由数字组成的字符串,如:"1239586838

字符串练习题(一): 拓扑结构相同子树

对于两棵彼此独立的二叉树A和B,请编写一个高效算法,检查A中是否存在一棵子树与B树的拓扑结构完全相同. 给定两棵二叉树的头结点A和B,请返回一个bool值,代表A中是否存在一棵同构于B的子树. /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } }*/ public class Identi