str_split的用法:

先看看PHP手册是怎么说的

array str_split ( string $string [, int $split_length = 1 ] )

str_split返回的是一个数组,第一个参数是string类型表示要分组的字符串,第二个参数是init类型,表示按几个字符来分组,如果没有第二个参数,那么默认按1个字符来分组 

来看一个题目,如何把1234567890变成1,234,567,890?

直接上代码:

<?php 

$str = '1234567890';
//要3个字符一分应该倒过来,这里我们用到了strrev函数
$rev = strrev($str);
echo $rev,'<br />';
//返回0987654321 echo $str,'<br />';
//返回1234567890说明strrev函数不影响原来的字符串 $revArr = str_split($rev);
var_dump($revArr);
/*没有第二个参数的话,默认按1个字符来分组
返回值是:
array (size=10)
0 => string '0' (length=1)
1 => string '9' (length=1)
2 => string '8' (length=1)
3 => string '7' (length=1)
4 => string '6' (length=1)
5 => string '5' (length=1)
6 => string '4' (length=1)
7 => string '3' (length=1)
8 => string '2' (length=1)
9 => string '1' (length=1)
*/ $revArr = str_split($rev,3);
var_dump($revArr);
/*按3个字符长度来分组
返回值
array (size=4)
0 => string '098' (length=3)
1 => string '765' (length=3)
2 => string '432' (length=3)
3 => string '1' (length=1)
*/ //接下来要做的就是把得到的数组转换成字符串
//这里要用到explode和implode函数了
//explode表示把字符串转换成数组
//implode表示把数组转换成字符串 $revStr = implode(',', $revArr);
echo $revStr,'<br />';
//返回值098,765,432,1 //接下来再把这个字符串再倒一下就好了
$revStr=strrev($revStr);
echo $revStr,'<br />';
//返回值1,234,567,890
//OK 搞定 ?>

  关于这个1234567890转换成1,234,567,890的另一种做法

<?php 

$str = '1234567890';

$str = strrev($str);
echo $str,'<br />';
$str = chunk_split($str,3,',');
//chunk_split第一个参数是要进行操作的字符串
//第二个参数是按几个字符来操作
//第三个参数是分隔开的字符以什么来连接
echo $str,'<br />';
//返回098,765,432,1,
$str = strrev($str);
echo $str,'<br />';
//返回,1,234,567,890
$str = trim($str,',');
//trim函数表示对字符串的两端进行修整
//如果没有第二个参数那么表示去掉两端的空格
//第二个参数有的话表示去掉两端的这样的字符
echo $str;
//返回1,234,567,890
//搞定 ?>

  

str_split的用法(PHP学习)的更多相关文章

  1. #define中 #与##的神奇用法linux学习 (转)

    #define中 #与##的神奇用法linux学习 (转) #define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ...

  2. c++用法的学习心得

    关于C++这门课,是我在大一的时候开始学习的,那时候接触的就是单纯的一些C++的基本语法规则,基本的编程规则.但是我们都有这样的困惑:课堂和教材的 内容基本上都能接受和理解,但真要实际动手编写程序又感 ...

  3. 以太坊RLP用法-go-ethereum学习

    RLP (递归长度前缀)提供了一种适用于任意二进制数据数组的编码,RLP已经成为以太坊中对对象进行序列化的主要编码方式.RLP的唯一目标就是解决结构体的编码问题:对原子数据类型(比如,字符串,整数型, ...

  4. 关于C++用法的学习心得

    通过大一一学期对C++语言的学习,我感觉c++是一门有一定难度并且很有挑战性的科目,在c++学习过程中,我们懂得了其有很多的用法. 引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确. ...

  5. C++用法的学习心得(要求包含示例,并反映出利用网络获取帮助的过程)

          大一一年C++的学习生涯,让我感慨颇多!回想起,当初上课时的情形,一切是那么的清晰,仿佛就像是发生在昨天一样.        任何一门学科的学习都是有技巧的.对于c++,我学的并不好,刚开 ...

  6. C++用法及学习心得

    通过对C++语言的学习,我感觉C++语言是有一定难度却又是非常有趣的科目.也是很有帮助的,对我们未来工作学习而言.我们可以通过C++语言进行更深层次的理解和思考.通过学习我懂得了C++语言是面向对象的 ...

  7. 关于const用法的学习

    被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性.所以很多C++程序设计书籍建议:“Use const whenever you need”.1.const作函数参数 例如 ...

  8. Android的ToggleButton和Switch以及AnalogColok和DigitalColok的用法-android学习之旅(二十)

    ToggleButton 和Switch简介 ToggleButton 和Switch都是继承了Button,所以他们的属性设置和Button差不多. 分别支持的属性 ToggleButton 的属性 ...

  9. Android的RadioButton和checkBox的用法-android学习之旅(十九)

    RadioButton和checkBox简介 单选按钮(RadioButton)和复选框(CheckBox)都继承了Button,因此属性的设置和Button差不多,只是加了一个android:che ...

随机推荐

  1. how to get a controller instance in another controller

    https://stackoverflow.com/questions/16870413/how-to-call-another-controller-action-from-a-controller ...

  2. spark SQL学习(load和save操作)

    load操作:主要用于加载数据,创建出DataFrame save操作:主要用于将DataFrame中的数据保存到文件中 代码示例(默认为parquet数据源类型) package wujiadong ...

  3. Multiply Strings,字符串相乘

    问题描述:给定两个字符串,返回他们的乘积. public class MultiplyStrings { public String multiply(String num1, String num2 ...

  4. 入门教程:.NET开源OpenID Connect 和OAuth解决方案IdentityServer v3 术语(二)

    你应该知道的在文档和对象模型中使用一些特定的术语: OpenID Connect Provider (OP) 授权服务器 Thinktecture IdentityServer v3 是一个.NET ...

  5. VirtualizingPanel.IsVirtualizing 附加属性

    VirtualizingPanel.IsVirtualizing 附加属性 获取或设置一个值,该值指示此 VirtualizingPanel 正在虚拟化其子集合. 说明: 标准布局系统可以创建项容器并 ...

  6. 复制文件夹的方法 .net

    void CopyDirectory(string SourcePath,string DestinationPath) { //创建所有目录 foreach(string dirPath inDir ...

  7. java String转Long两种方法区别

    第一种:包装类型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等8种 Long.valueOf("String")返 ...

  8. 51nod-1385-贪心-构造

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1385 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 ...

  9. python面向对象编程 继承 组合 接口和抽象类

    1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均用点来访问自己的 ...

  10. neutron ovs+vxlan

    title: Neutron ovs+vxlan date: 2017-04-26 23:37 tags: Network 主机网卡配置 controller: ens160:192.168.11.1 ...