Blogger Information
Blog 8
fans 0
comment 0
visits 11693
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php数组
BlogofDaniel
Original
1278 people have browsed it

数组是什么?

数组是一个能在单个变量中存储多个值的特殊变量。

在 PHP 中,array() 函数用于创建数组:

array();

在 PHP 中,有三种类型的数组:


数值数组 - 带有数字 ID 键的数组

关联数组 - 带有指定的键的数组,每个键关联一个值

多维数组 - 包含一个或多个数组的数组


定义和用法

count() 函数返回数组中元素的数目。

语法

count(array,mode);

参数 描述

array 必需。规定要计数的数组。

mode 可选。规定函数的模式。可能的值:

0 - 默认。不计算多维数组中的所有元素。

1 - 递归地计算数组中元素的数目(计算多维数组中的所有元素)。


数组元素的遍历

1.for循环遍历

2.foreach遍历

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 

foreach($age as $x=>$x_value)

{

echo "Key=" . $x . ", Value=" . $x_value;

echo "<br>";

}

数组函数:利用系统提供的内置函数来处理数组。


1.定义和用法

count() 函数返回数组中元素的数目。

语法

count(array,mode);

参数 描述

array 必需。规定要计数的数组。

mode 可选。规定函数的模式。可能的值:

0 - 默认。不计算多维数组中的所有元素。

1 - 递归地计算数组中元素的数目(计算多维数组中的所有元素)。

2.is_array(array)

功能:判断参数是否是数组

参数:被判断的数据

返回值:如果参数是数组,返回true,如果参数不是数组,返回false


3.定义和用法

in_array() 函数搜索数组中是否存在指定的值。

语法

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

参数 描述

needle 必需。规定要在数组搜索的值。

haystack 必需。规定要搜索的数组。

strict 可选。如果该参数设置为 TRUE,则 in_array() 函数检查搜索的数据与数组的值的类型是否相同。


4.语法

array_key_exists(key,array)

功能: 检查某个数组中是否存在指定的数组元素标示符。

参数 描述

key 必需。规定键名。

array 必需。规定数组。


5.array_values(array)

功能:将参数数组的数组元素值取出,重新索引,组成一个新的索引数组(抛弃数组元素标示符)。

参数:

Array 操作的数组

返回值:操作正确,返回新的索引数组,操作错误,返回false。

注意:

1、对一维关联数组进行操作,丢掉键名只将数组元素值重新索引

2、对多维数组操作,把子数组当作一个数组元素值来看待

6.extract(array)

功能:将关联数组的数组元素映射到一张变量表中,关联数组的键名作为变量名,数组元素值作为变量值

参数:array 必需 需要处理的关联数组

返回值:成功的将数组元素转化成变量的个数.

注意:

关联数组中,数组元素标示符为数字的数组元素无法转化.

7.List(变量表):

格式:

List($a,$b,$c,$d) = array(“a”,”b”,”c”,”d”);

作用:

将索引数组的数组元素值按顺序依次赋值给list语句的变量表中

注意:

如果数组元素的标示符是字符,则该数组元素的值不会被赋值。


8.json编码函数

json_encode(var)

功能:将数组或者对象转化为json格式的字符串

参数:

Var 被转化的数组或者对象

返回值:返回被转化后的json字符串

json_decode(string,assoc)

功能:将json格式的字符串转化为对象或者数组

参数:

String: 必须,被转化的json字符串

Assoc: 可选。True,json字符串被转化为数组;false,json格式的字符串被转化为对象,默认为false。

返回值:转化成的对象或者数组。


9.explode/implode

explode(separator,string):

功能:将某个字符串,根据某个字符,截取成数组元素,并组成数组。

参数:

Separator 必需 指定的符号

String 操作的字符串

返回值:组成的新数组

如何判断一个文件是图片?

implode(separator,array)

功能:将数组的数组元素以某个特定的符号连成字符串

参数:

Separator:必需 设置的符号

Array: 必需 操作的数组

返回值:由数组元素和特定符号组成的字符串

10.

堆栈函数array_push($a,元素1,元素2);  array_pop($a);   返回值:数组元素的个数

队列函数array_unshift($a,元素1,元素2);     array_shift();

11.

array_merge(array1,array2,array3...):数组的合并 返回值数组 索引不会覆盖,关联会覆盖

array_merge_recursive (array1,array2,array3...):

注意: 该函数与 array_merge() 函数的区别在于处理两个或更多个数组元素有相同的键名时。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。

12.array_slice(array,start,length,preserve):

功能: 在数组中根据条件取出一段值,并返回

参数: 

array 必需。规定数组。

start 必需。数值。规定取出元素的开始位置。 0 = 第一个元素。

如果该值设置为正数,则从前往后开始取。

如果该值设置为负数,则从后向前取。

length 可选。数值。规定被返回数组的长度。

如果该值设置为整数,则返回该数量的元素。

如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。

如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。

起点包含,终点不包含

preserve 可选。规定函数是保留键名还是重置键名。

true - 保留数组元素标示符

false - 默认。重置数组元素标示符

array_splice(array,start,length,value)

功能: 从数组中移除选定的元素,并用新元素取代它。

参数:

array 必需。规定数组。

start 必需。数值。规定删除元素的开始位置。

0 = 第一个元素。

如果该值设置为正数,则从数组中该值指定的偏移量开始移除。

如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。

length 可选。数值。规定被移除的元素个数,也是被返回数组的长度。

如果该值设置为正数,则移除该数量的元素。

如果该值设置为负数,表示终点的位置。 

如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。

value     可选。替换的数据。

返回值:被切割掉的数据。

13.排序

sort():升序

rsort():降序


ksort():下标 升序

krsort():下标 降序


14.冒泡排序

思路:第一次处理,完成一个最大(小)值可以到最后。因而,第二次,只需要操作剩下的n-1个元素,操作完,就有两个值在最后被按次序排放好了。依次类推。相当排序还有很多(快速排序:设置i和j,左右开弓,左右交换,左右继续开弓,直至相遇。参考:《数据结构》)


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post