6---PHP数组函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)数组的概念与分类
定义:数组是php中最重要的数据类型之一,在php中的应用非常的广泛。因为php 是弱类型的编程语言,所以php中的数组变量可以存储任意多个、任意类型的数据。使用数组的目的,就是将多个相互关联的数据组织到一起,形成一个集合,作为一个单元使用达到批量数据处理的目的。
Php中数组的根据索引来分为关联数组和数字索引数组。如果一个数组中的索引全部为数字,那么数组就称为数字索引数组。如果数组中有一个索引为字符串那么数组就称为关联数组。
(2)Php中数组的定义
A.定义方式
(1)使用array()声明
可以用array()语言结构来新建一个数组。它接受任意数量用逗号分隔的键(key) => 值(value) 对,例如:
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12]; // 1
?>
其中键可以为整型或字符串型,值可以为任何类型。如果对给出的值
没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加
一。如果指定的键名已经有了值,则该值会被覆盖。
(2)使用[]声明
我们可以使用[]来定义和修改数组元素
$arr[] = 56;
Echo $arr[0];//56
?>
B.对数组元素的操作
(1)追加数组元素(就是在数组的末尾添加数组元素)
$数组名[键名]=值;
(2)更新数组元素
$数组名[键名]=新值;
(3)删除数组元素
Unset($数组名[键名])
(4)在数组头部添加数组元素
Array_unshift($arr, $value),在数组的开头插入一个元素。
(5)在数组的尾部添加数组元素
Array_push($arr, $value1, $value2..),将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素个数。
(6)在数组头部删除元素
Array_shift($arr),将数组的第一个元素移出,并返回此元素
(7)在数组的尾部删除元素
Array_pop($arr);
(3)访问数组的内容
A、使用下标访问
Echo $数组名[键名]
B、使用for循环访问(本方法只适用于数字索引数组)
For($i=0;$i Echo $arr[$i]; } ?> C、适用foreach循环访问(适用于所有数组) Foreach(数组名as $key=>$value){ Echo $key."=>".$value;//$key存储当前元素索引,$value存储当前元素} (4)字符串与数组之间的转换 A.将数组转换为字符串 Implode($separator, $arr)将数组用$separator连接成一个字符串。 B.Explode($separator,$str)将字符串用$separator分割成一个数组。如果在$str中没有找到$separator,那么将会把整个字符串当成一个数组元素。 (5)多维数组的声明与遍历 A、PHP中可以定义多维数组。 $arr = array( …key1‟=> array("foo" => "bar", 12 => true); ); Var_dump($arr[“key1”]);//输出数组array("foo" => "bar", 12 => true); Echo $arr[“key1”][“foo”];//输出bar; ?> B、 $arr=array( array("香蕉","橘子","苹果"), "白菜","萝卜" ); foreach($arr as $value){ if(is_array($value)){ foreach($value as $value1){ echo $value1; } }else{ echo $value; } } ?> C、九种系统预定义数组 $GLOBALS —引用全局作用域中可用的全部变量 $_SERVER —服务器和执行环境信息 $_GET — HTTP GET 变量 $_POST — HTTP POST 变量 $_FILES — HTTP 文件上传变量 $_REQUEST — HTTP Request 变量 $_SESSION — Session 变量 $_ENV —环境变量 $_COOKIE — HTTP Cookies (6)数组相关处理函数 A、数组的键/值操作函数 Array_keys($arr),获得数组的键名。 Array_values($arr),获得数组的值。 In_array($value, $arr),检索$value是否在$arr中,返回布尔值。 Array_key_exists($key, $arr),检索数组$arr中,是否有$key这个键名。 Array_search($value, $arr), 检索$value是否在$arr中,若存在返回键名。 Array_reverse($arr, true),将一个数组逆向排序,如果第二个参数为true,则保持键名。 Array_flip($arr)交换数组的键和值 B、统计数组元素个数和唯一性 Count($arr)统计数组元素的个数 Array_count_values($arr)统计数组中所有值的出现次数 Array_unique($arr)移除数组中的重复值 C、数组的排序 通过值排序 Sort($arr),由小到大排序。 Rsort($arr),由大到小排序。 Usort($arr, function),使用用户自定义的比较函数排序。 通过键排序