字符串函数

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. IE7下如何判断复选框是否被选中(利用jquery)

    var checkM; $(".rate-mainL .checkM").click(function(){ var checkM=$("input[name='chec ...

  2. NOIP 考前 高斯消元练习

    POJ 1830 列出n个方程右边为最后的情况 每一行代表第几个灯的情况,每一行代表是否按第几个按钮写出方程即可. #include <cstdio> #include <cstri ...

  3. NOIP 考前 图论练习

    LJOJ 1500: 题目:http://www.docin.com/p-601990756.html Sol:贪心,从叶子结点往上加入无法传递了,就需要建设. Dfs返回的是到达叶子节点最多所要的能 ...

  4. iOS信号量的使用

    Core Audio render thread and thread signalling up vote2down votefavorite   Does iOS have any kind of ...

  5. 关于分开编写多个LaTeX文件的一点微小的总结

    [转载请注明出处]http://www.cnblogs.com/mashiqi 2016/11/05 在编写LaTeX文档的时候,由于文档的section较多,或者section的编写时间各不相同,我 ...

  6. eclipse控台不见

  7. Tomcat笔记

    总体架构: 由三部分组成:Service.Connector.Container 多个Connector对应一个Container,构成一个Service 为Service提供一个生存环境 如何处理多 ...

  8. SQL组合查询的存储过程写法

    最进一个项目 里面有个查询的功能,它是进行组合查询的, 而且用的是存储过程写.写这样的存储过程,需要注意单引号的使用,请看本人下面的例子,假如你以后写的话 记得注意写就行: create proc s ...

  9. junit单元测试(keeps the bar green to keeps the code clean)

    error是程序错误,failure是测试错误. junit概要: JUnit是由 Erich Gamma (设计模式的创始人)和 Kent Beck (敏捷开发的创始人之一)编写的一个回归测试框架( ...

  10. web安全之sql注入报错型注入

    前提: echo mysql_error(),输出错误信息. 熟悉的函数: floor()向下取整 concat()返回的字符串参数连接的结果 count()函数返回匹配指定条件的行数 rand()函 ...