学有小成-php基础语法-06

一字符串

1定义

使用单引号或双引号括起来的0个或多个字符。

单引号:

不有解析变量的值,能够被转义的  \\   \’

双引号:

能够解析变量的值,都能被转义

 

heredoc 本质就是使用双引号定义大段的文本,只是以另一种方式进行书写。

 

nowdoc 本质就是使用单引号定义大段的文本,只是以另一种方式进行书写。

 

字符串也可以当作一个由多个字符组织的系列

示例:

2字符串长度

①、strlen

语法:

strlen(变量)

说明:

用于获取字符串的一个字节数

②、多字节字符的支持

默认字母在任何字符住在中占据的1个字节保存一个字符。

但例如:汉字,一个字符可能占据多个字节,所以php提供了对多字节字符的支持。

需要在php.ini中开启多字节字符的支持。

开启多字节字符的支行后,我们就可以使用多字节字符的操作函数。

mb_strlen(变量,存储编码)

3字符串相关函数

①、输出函数

echo

print

print_r

var_dump

②、查找并截取函数

strstr(str,substr)

说明:

用于在字符串str中查询子字符串substr首次出现的位置,并截取到最后

 

strrchr(str,substr)

说明:

用于在字符串str中查询子字符串substr最后一次出现的位置,并截取到最后

示例:

③、查找

strpos(str,substr)

说明:

用于在字符串str中查询子字符串substr首次出现的位置

 

strrpos(str,substr)

说明:

用于在字符串str中查询子字符串substr最后次出现的位置

示例:

④、分割

explode(分隔符,str)

说明:

指定指定的分隔符,将字符串str进行分割,并将每一部分组织成数组,并返回

示例:

⑤、替换

str_replace(search,rep, str);

说明:

在字符串str中,查找search表示的内容,并替换为rep代表的内容

⑥、大小写转换

strtolower()

strtoupper()

示例:

⑦、去除指定字符

trim(str,substr)

说明:

用于将字符串str两侧的子字符串substr去除。

substr可以省略,如果省略表示去除空格。

示例:

ltrim(str,substr);

rtrim(str,substr)

 

 

⑧、pathinfo

语法:

pathinfo(path,option);

说明:

path 是一个文件路径的字符串

用于获取一个文件的路径信息(文件名、文件夹、文件名、扩展名)

option参数用于获取路径信息中指定的部分

示例:

示例:

⑨、md5()

语法:

md5(str);

说明:
用于对str字符串进持加密。对任何长度的字符串进行md5处理得到的都是32位长度的字符串。

⑩、htmlspecialchars

语法:

htmlspecialchars(str)

说明:

用于将字符串str中的大于号小于号转换为相应的字符实体。

< <    >    >

示例:

htmlspecialchars_decode(str)

 二数组初步

 1概念

数组是一种数据的集合。

数组主要是用于存储具有行列特征(表格)的数据。

2php数组的分类

 

①、索引数组

 

数组的下标是整数。这样的数组就是索引数组

 

 

 

②、关联数组

 

数组的下标是字符串。这样的数组就是关联数组。

 

 3php数组的创建

①、索引数组的创建

示例:

说明:

php中数组的下标可以不连续。

 

②、关联数组的创建

 

语法:

 

$arr = array(键名=>键值键名=>键值,….);

 

$arr = [键名=>键值键名=>键值,….];

 

说明:

 

php中的数组元素由两部分组成,键名(下标),键值

 

示例:

4多维数组

 php中支持多维数组,如果一个数组的元素又是一个数组,那么这就是多维数组。

5数组元素访问

 ①、一维数组元素的访问

语法:

$数组名[下标/键名]

示例:

②、二维数组元素的访问

语法:

$数组名[行下标][列下标]

示例:

6数组的长度

count()

用于获取数组的长度

三数组的指针

数组指针用于表示当前所关注的有元素。

current($arr) 用于当前指针所指向的元素的键值

key($arr) 用于当前指针所指向的元素的键名

next($arr) 用于将数组的指针下移。

prev($arr) 用于将数组的指针上移。

reset($arr); 用于将数组的指针重置(归位,数组的指针默认位于第1个元素)

end($arr); 用于将数组的指针移到最后一个元素。

 

示例:

四数组的遍历

1for

for循环是使用循环控制变量来模拟下标的方式来遍历数据,只能遍历下连续或有规则

但不PHP中数组下标可以不连续且不规律,还可能是关联数组。对于关联数组如何来遍历。

2foreach

 

①、语法
foreach($arr  as  $key=>$value){

 

//循环体

 

}

 

说明:

 

$arr是所要遍历的数组$key$value就是一个变量,变量名可以自定义。

 

 

 

示例:

②、foreah原理

首先对数组的指针进行重置。

读取当前指针所指向的数组元素,并将元素的键名赋值变量$key,将键值赋值给变量$value

同时会将数组的指针下移一行(下移指针是为了下一次循环)

foreach不需要我们控制循环的次数,它会自动判断什么时候结束循环。

 3while-each-list遍历

使用while循环,及each()函数,list语法结构联合来遍历数组。

 

①、each

each(数组)

说明:

用于获取当前指针所指向的元素键名与键值,并以索引元素与关系元素两种形式表示,同时将指针下移一行。

示例:

②、list

语法:

list(变量列表)=$arr

说明:

将数组$arr中的索引元素赋值给变量列表中的变量。

示例:

③、while-each-list遍历数组

③、foreachlist连用

语法:

list(变量列表)=$arr

说明:

list语句的右侧必须是数组

示例:

五数组操作常用的函数

1数组的长度

count(数组名)

2获取数组元素的键名和键值

①、array_keys()

获取数组元素所有的键名

②、array_values()

获取数组元素所有的键值

示例:

3判断键名和键值是否存在

①、array_key_exists(key,arr)

用于判断某个键名是否存在于数组中,如果存在则返回true,否则 返回false

②、in_array(value,arr);

用于判断某个键值是否存在于数组中,如果存在则返回true,否则 返回false

示例:

4数组的合并

array_merge(数组1,数组2…)

5数组的排序

①、sort()

对数组按键值进行升序排序

②、rsort()

对数组按键值进行降序排序

示例:

③、asort();

对数组按键值进行升序排序,但原下标不会变

 

④、arsort()

对数组按键值进行降序排序,但原下标不会变

 

6extract

 

用于解压数组,将关联元素转换为以键名为变量名的变量。

六数组的相关算法

1排序算法

①、冒泡排序法

原理:

 

 

 

②、插入排序法

2、查找算法

①、顺序查找法

 

 

②、二分查找法

前提:

数组一定是有序,且元素不能重复。

 

posted @ 2018-08-30 15:45  PHPer1  阅读(195)  评论(0编辑  收藏  举报