您的位置:首页 > 编程语言 > PHP开发

数组操作:遍历,排序,数组函数等

2017-12-26 15:30 169 查看
一、 数组

一. 使用array函数来赋值。

$a = array(10,20,30,40); //使用array函数定义一个数组(未指定下标)

$b = array("aa","bb","cc");//使用array函数定义一个数组(未指定下标)

$c = array(1=>10,2=>20,6=>80); //使用array函数,定义一个指定下标的数组

$stu = array("name"=>"张三","age"=>20); //使用array函数,定义一个指定关联下标的数组

$stu = array("name"=>"张三","age"=>20,3=>"qq","pp"); //这是pp的下标是4

$p = array("name"=>"张三","age"=>20,"aa","bb"); //这时数组aa和bb的下标为0,1

二. 多维数组:当一个数组中的元素单元还是一个数组时,称为多维数组。(几层就是几维)

如:echo $a[10]; //一维数组

echo $a[1][2]; //二维数组

$a = array(10,20,40,50); //一维数组

$b = array( array(10,20),array(30,40)...); //二维数组

如 二维数组的赋值:

直接赋值:$a[][]=10;

三、数组的遍历(迭代)输出(4种)

-------------------------------------------

1.使用循环结构:for/while/do...while

使用到一个函数:count()--获取数组的长度(元素的个数)

示例:

$a=array(10,20,30,40,50,60);

$ll=count($a);

for($i=0;$i<$ll;$i++){

echo $a[$i]." ";

}

注意:使用for循环只适合输出索引式数组,并且数组下标是从0开始连续的整数。

但是可以使用array_values()函数来弥补数组下标不足的地方。

示例:

echo "<br/>";

//输出非规则的数组

$a=array(2=>10,3=>40,6=>80,4=>30,"name"=>"张三");

//获取数组中的所有值,并以索引式数组返回

$list = array_values($a);

//使用for循环遍历

for($i=0;$i<count($list);$i++){

echo $list[$i]." ";

}

2. 使用foreach遍历数组

格式:foreach(被遍历的数组 as [键=>]值){

....

}

示例://关联式数组的输出

$stu = array("name"=>"zhangsan","age"=>20,"sex"=>"man");

foreach($stu as $k=>$v){

echo "{$k}=>{$v}<br/>";

}

四、超全局数组:

---------------------------------------------------

$GLOBALS 包含以下所有信息

*$_SERVER 服务器和执行环境信息

*$_GET 通过 URL 参数传递给当前脚本的变量的数组。

*$_POST 通过 HTTP POST 方法传递给当前脚本的变量的数组。

*$_FILES 保存文件上传信息(在文件处理章节中细讲)

(cookie和session在会话跟踪章节中细讲)

*$_COOKIE 通过 HTTP Cookies 方式传递给当前脚本的变量的数组(用于储存论坛、文库、博客等登陆信息)

*$_SESSION 当前脚本可用 SESSION 变量的数组。(用于网站购物车等的信息存储)

*$_REQUEST 包含get、post和cookie

$_ENV 存储的是系统环境变量信息

*$_SERVER["HTTP_REFERER"]--上一页面的url地址

$_SERVER["SERVER_NAME"]--服务器的主机名

*$_SERVER["SERVER_ADDR"]--服务器端的IP地址

$_SERVER["SERVER_PORT"]--服务器端的端口

*$_SERVER["REMOTE_ADDR"]--客户端的IP

$_SERVER["DOCUMENT_ROOT"]--服务器的web目录路径

*$_SERVER["REQUEST_URI"];//--URL地址

echo $_GET["name"];

echo $_REQUEST["name"]; //获取信息比上面get的会慢一些

form表单的get提交方式:url地址可见,相对不安全,长度受限,可以做为标签连接使用。

form表单的post提交方式:url地址不可见,相对安全,长度不受限。

五、 数组的相关函数

------------------------------

1. 数组的键和值的操作函数

*array_values — 返回数组中所有的值

array_keys — 返回数组中所有的键名

array_flip — 交换数组中的键和值

*in_array — 检查数组中是否存在某个值

array_reverse — 返回一个单元顺序相反的数组

*is_array() --判断是否是数组

2. 数组的统计相关函数

*count -- 计算数组中的单元数目或对象中的属性个数

array_count_values -- 统计数组中所有的值出现的次数

array_unique -- 移除数组中重复的值

3. 带回调函数的

array_filter -- 用回调函数过滤数组中的单元

array_walk -- 对数组中的每个成员应用用户函数

array_map -- 将回调函数作用到给定数组的单元上

4. 数组的排序

*sort -- 对数组排序(升序)

rsort -- 对数组逆向排序(降序)

asort -- 对数组进行排序并保持索引关系(关联数组排序)

arsort -- 对数组进行逆向排序并保持索引关系

*usort -- 使用用户自定义的比较函数对数组中的值进行排序

uasort -- 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

ksort -- 对数组按照键名排序

krsort -- 对数组按照键名逆向排序

uksort -- 使用用户自定义的比较函数对数组中的键名进行排序

*natsort -- 用“自然排序”算法对数组排序

natcasesort -- 用“自然排序”算法对数组进行不区分大小写字母的排序

array_multisort -- 对多个数组或多维数组进行排序(了解)

array_slice -- 从数组中取出一段

array_splice -- 把数组中的一部分去掉并用其它值取代

array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

*array_merge -- 合并一个或多个数组

array_intersect -- 计算数组的交集

array_diff -- 计算数组的差集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数组操作 php
相关文章推荐