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. spring集成spring mvc 和hibernate详解

    1.配置IOC容器 <!-- 配置IOC容器 --> <context-param> <param-name>contextConfigLocation</p ...

  2. SpringMVC下文件的上传与下载以及文件列表的显示

    1.配置好SpringMVC环境-----SpringMVC的HelloWorld快速入门! 导入jar包:commons-fileupload-1.3.1.jar和commons-io-2.4.ja ...

  3. hive 数据清理--数据去重

    hive> select * from (select *,row_number() over (partition by id) num from t_link) t where t.num= ...

  4. NumPy数学算数函数

    NumPy - 算数函数 很容易理解的是,NumPy 包含大量的各种数学运算功能. NumPy 提供标准的三角函数,算术运算的函数,复数处理函数等. 三角函数 NumPy 拥有标准的三角函数,它为弧度 ...

  5. codeforces 820A. Mister B and Book Reading 解题报告

    题目链接:http://codeforces.com/problemset/problem/820/A 坑爹题目,坑爹题目,坑爹题目....汗 = =!  后台还110个 test 有个地方需要注意下 ...

  6. spring3: helloword

    借助:eclipse,mavn,spring-tool-sitedchapter2.helloworld 项目搭建好了,让我们来开发接口,此处我们只需实现打印“Hello World!”,所以我们定义 ...

  7. flash滚动图片遮住二级下拉菜单解决方法

    如上图所示,在进行排版时,如果不注意会遇到二级下拉菜单被下边的img图片遮住.此种情况在ie7 8 中出现. 解决方法:给二级下拉菜单添加z-index:9999;position:relative; ...

  8. 计蒜客button 概率

    中文题意不多说,这题主要是数据太大,无法递推,所以用欧拉常数来解决 对于调和级数1/1+1/2+...+1/n=ln(n)+C+1/(2*n),C为欧拉常数,再加上ceil向上取整就可以了 #incl ...

  9. 【scala】继承

    Scala中的继承与Java有着显著的不同. 抽象类abstract class abstract class Car{//抽象类 val carBrand:String;//抽象字段,一个没有被初始 ...

  10. MySQL学习笔记2018-02-07更新

    前言:本人wechat:YWNlODAyMzU5MTEzMTQ=. 如果内容有错,请指出来. win10下安装 https://dev.mysql.com/downloads/mysql/下载并解压m ...