字符串函数

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. 在Visual Studio中使用Git命令提示符

    VS2015自带了Git插件,但有时候我觉得Git控制台命令更方便些. VS中本身不能把Git Bush作为浮动窗集成进来,但我们可以通过Power Shell来使用Git命令. ---------- ...

  2. .Net Core + Angular2 环境搭建

    环境搭建: 1)node.js版本>5.0,NPM版本>3.0,TypeScript版本>2.0(全装最新版就好了) 2)安装NTVS 1.2(node tools for vs), ...

  3. strlen 字符型数组和字符数组 sizeof和strlen的区别 cin.get(input,Arsize)

    strlenstrlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值 ...

  4. Robot_bfs

    Description The Robot Moving Institute is using a robot in their local store to transport different ...

  5. 黑马------synchronized详解

    黑马程序员:Java培训.Android培训.iOS培训..Net培训 JAVA线程-synchronized详解 一.synchronized概述 1.线程间实现互斥,必须使用同一个监视器(一个对象 ...

  6. K - Least Common Multiple

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Descr ...

  7. maven - dependencies与dependencyManagement的区别

    1.DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行 ...

  8. Python的名字绑定

    Python的名字绑定 在Python中,对象是通过名字进行关联和引用的.Python通过名字绑定操作来引入名字. Python中的所谓的代码块就是一段作为执行单元的程序.比如:模块.函数.类定义.在 ...

  9. python 字符串技巧 from python cookbook

    所有数据进入程序中都只是一串字节 英文字符占一个字节 汉语是两个字节 一字节byte=8bit Unicode字符串为每种语言的每种字符设定了统一并且唯一的二进制编码 big = r'This is ...

  10. android 保存文件的各种目录列表

    一般的,我们可以通过context和Environment来获取要保存文件的目录 ($rootDir) +- /data -> Environment.getDataDirectory() | ...