字符串函数

strlen(string);

获取字符串的长度,这里的长度是指该字符串的字节长度;!!utf-8里英文字母和符号占1个字节,中文是占3个字节。

substr(string,number1,number2)

截取字符串,number1是开始截取的位置,以0开始,number2是截取的长度。

strtolower  |  strtoupper

把字符串里的英文字母变小写  |  把字符串里的英文字母变大写

strrev

把字符串反转,是按字节来反转,所以反转汉字会出现乱码。

strpos(string,string的某个字符)

pos是position位置的意思,

所以该函数的作用就是从左往右查找并返回字符串中某个字符的起始位置!

strrpos(string,string的某个字符)

从右往左进行查找!也可以认为是从左往右最后一次出现该字符的位置!

strchr(string,string的某个字符)

也是截取字符串,是从左往右截取指定位置(指定的字符的位置)开始以后全部的字符串!

strrchr(string,string的某个字符)

是从右往左截取指定位置(指定的字符的位置)开始以后全部的字符串!

trim(string,\t\n\r\0\x08)

此函数去除首尾空白字符并返回结果。不写后面的参数就是删除空格。

str_repeat(string,number)

第一个是需要重复的字符串,第二个是重复的次数

时间函数

time

时间戳,格林威治1970年1月1日零时起,到现在的秒数!

date

使用时间格式占位符将指定时间戳格式化为对应格式的形式!

年:Y  月:m  日:d  时:H  分:i  秒:s

语法:  date(“带有格式占位符的字符串”,时间戳)

其中第二个参数(时间戳)可以省略,缺省值就是当前时间戳!

strtotime

将一个英文格式下的时间字符串,转换为一个时间戳!

microtime()

一般可以用来测试代码执行的效率!

得到一个微妙的时间戳字符串(字符串型),或加上一个参数true(默认值为false)之后得到一个微秒的时间(浮点型)


数组

创建数组语法

$arr = array(

  string1 => string,

  string2 => string,

  …………………………

  stringn => string

)

$arr ['string1'] = string;

$arr ['string2'] = string;

……………………………………

$arr ['stringn'] = string;

数组的遍历

除了用for循环来遍历,还可以用foreach来遍历

语法foreach(数组名 as $key(键变量) => $value(值变量)){

      循环体//对值变量和键变量的操作

}

键变量就是数组的索引值。

数组函数

接下来讲常用的和常见的数组函数

count

计算并返回数组中的元素个数或者对象中的属性个数!

在计算多维数组时是把一维数组的个数和一维数组元素里的数组个数相加。

count还有第二个参数,默认为false,如果系true,则支持递归统计。

range

建立一个包含指定范围单元的数组,有三个参数1,开始的字符或数字;2,结束的字符或数字;3,步伐:一次跳转几个字符或数字。

array_merge:

将几个数组合并成一个数组。一个数组中的值附加在前一个数组的后面。另外,运算符+也可以实现数组的合并;

array_rand:

随机抽取数组内的几个元素的键,并返回一个索引数组!

需要两个参数:1,数组名2,抽取的个数  !!省略掉第二个参数默认为1.

shuffle

打乱一个数组,只有一个参数 1.数组名

array_keys

获取所有元素的键,返回一个索引数组,只有一个参数 1.数组名

array_values

获取所有元素的值,返回一个索引数组,只有一个参数 1.数组名

array_combine

有两个参数,1数组名,这个数组作为新数组的键;2,数组名,这个数组作为新数组的值

组成一个新数组,要求两个数组的个数相同。

array_flip

交换数组的键和值

in_array

判断一个数据是否是某个数组里面元素的值!返回一个布尔值!

两个参数1具体数据;2数组名。

array_key_existe:

判断一个数组内是否存在某个键,返回一个布尔值

两个参数1具体数据;2数组名。

array_search

搜索数组内的某个元素的值, 并返回其下标值

两个参数1具体的值;2数组名

array_chunk

有两个参数1数组名,2要合并的值的多少

将一个数组里面的值合成一个数组,合成的值要多少个取决于第二个参数

implode

将一个数组元素的所有的值,利用一个指定的分隔符连接成一个字符串!

两个参数

1,分割符,这里可以省略,如果省略,那就是没有分隔符  2,数组名

explode

将一个字符串,利用其中的分隔符,将其分割成多个部分,形成一个数组!

两个参数

1,分隔符  2,字符串!

extract

将数组中的每一个元素都变成一个变量,其中变量的名字就是数组元素的键,变量的值就是数组元素的值!

只有一个参数,1,数组名

compact

利用多个变量,形成一个数组,数组元素的键就是变量的名字,数组元素的值就是变量的值!

array_map

对数组中的每一个元素,都由系统调用某个函数!

array_push

将一个或多个数据压入数组的尾部!

array_pop:

将数组的最后一个数据弹出

 array_unshift:

从数组的前面加入数据

array_shift:

从数组的前面弹出数据

sort

对数组中的元素进行升序排序,也就是从低到高!

排序之后,会丢失原数组的键,重新生成一个索引数组!

asort

也是升序排序,只是排序后会保留以前的键值对!

rsort

对数组元素的值进行降序排序,也就是从高到低:

排序之后会重新生成一个索引数组!

arstort

也是降序排序,只是会保留以前的键值对!

PHP入门part4的更多相关文章

  1. maven入门-- part4 坐标和依赖

    Maven的坐标为各种构件引入了秩序,任何一个构件都必须明确的定义自己的坐标,maven的坐标包括如下的元素: groupId: 定义当前Maven项目隶属的实际项目 artifactId: 该元素定 ...

  2. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  3. 【PyTorch深度学习60分钟快速入门 】Part4:训练一个分类器

      太棒啦!到目前为止,你已经了解了如何定义神经网络.计算损失,以及更新网络权重.不过,现在你可能会思考以下几个方面: 0x01 数据集 通常,当你需要处理图像.文本.音频或视频数据时,你可以使用标准 ...

  4. django入门-表单-part4

    尊重作者的劳动,转载请注明作者及原文地址 http://www.cnblogs.com/txwsqk/p/6514113.html 完全翻译自官方文档 https://docs.djangoproje ...

  5. C语言编程入门之--第五章C语言基本运算和表达式-part4

    5.3.5 和二进制极为密切的运算符 本小节的运算符需要借助二进制概念来理解. 二进制数据中,比如一个字节的数据,它的十进制为228,二进制就为11100100,如图5.11, 注意:如果不懂怎么转换 ...

  6. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  7. [EntLib]微软企业库5.0 学习之路——第一步、基本入门

    话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...

  8. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  9. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

随机推荐

  1. 【LeetCode】Gray Code

    Gray Code The gray code is a binary numeral system where two successive values differ in only one bi ...

  2. PowerDesigner自增列问题

  3. 使用ActionBar Tab

    使用ActionBar Tab(地址) 本文实现将页面分为多个选项卡,并在每一个选项卡中显示一个ListView. 创建新Layout - ActionbarTab.axml, 并向页面中添加Fram ...

  4. 富文本编辑器kindeditor配置

    <!--富文本编辑器kindeditor配置↓ --> <link type="text/css" rel="stylesheet" href ...

  5. Objective-C汇总

    Objective  C(20世纪80年代初) 一.OC语言概述 .1985年,Steve  Jobs成立了NeXT公司 .1996年,12月20日,苹果公司宣布收购了NeXT  softwar ...

  6. Day21_IO第三天

    1.IO体系总图 2.字符流体系图 记忆路线:输入输出流前面加File和Buffered,这就记住6个了,还剩两个转换流名字比较特殊,需要着重记一下(转换流:字节和字符的组合,所以起名字叫InputS ...

  7. Android 性能测试

    写在前面: 测试一道,博主接触的也是皮毛而已,没有接触过rom的测试,下边所说的都是博主接触过的app的性能测试.我只谈方法,少提概念.各位大神不喜勿喷. 概述 除启动时间外,我们应该做的测试,可能需 ...

  8. 开发基于C#.NET的mongodb桌面版的应用程序(1)

    1.之前没有使用过C#开发过相应的桌面应用程序,现在既然要从零到有进行开发,自然要掌握好C#桌面开发相关的原理与技术,以及站在多类型用户的角度开发具有实际生产意义的mongodb数据库管理软件. 2. ...

  9. 【Linux命令】之fc,手动安装字体

    在linux,把字体文件拷贝到字体目录后,执行fc-cache命令,fc-cache扫描字体目录并生成字体信息的缓存,然后应用程序就可以立即使用这些新安装的字体. 1.把windows OS下的字体C ...

  10. 一触即发 App启动优化最佳实践

    一触即发 App启动优化最佳实践 本文在 DiyCode 和 CSDN个人博客 同时首发,关注作者的 DiyCode帐号 或者 作者微博 可第一时间收到新文章推送. 文中的很多图都是Google性能优 ...