7.数组
数组
1.什么是数组??
数组是一组数据
2. 概念
- 键: 在数组中[]内用于区分不同值表示的就是键
- 值: 在数组中键所对应的数据
- 键值对: 键+值就是键值对(键=>值)
- 下标:键就是下标
- 元素:元素就是键值对
- 索引数组:下标是数字
- 关联数组:下标是字符串的
- 混合数组:下标既有数字也有字符串
- 一维数组:数组的所有元素是除了数组的其他类型
- 二维数组:数组元素中有数组类型
- 多维数组:二维数组以上都是多维数组
3. 数组的定义方式
-
使用语言结构来声明数组
-
索引数组
$arr = array(10, '你好', "好不好", true, 3.14); var_dump ($arr);
结果:
-
关联数组
// key=>value $arr = array( 'name' => "小哈哈", "sex" => "男", "age" => 18 ); var_dump ($arr);
结果:
-
混合数组
$arr = array("id" =>1, 10, "name" =>"小明", 12, 3=>"你好"); var_dump($arr);
结果:
-
-
使用指定语法声明(常用)
就是不用说是"array"了,并变成[]
-
索引数组
$arr = [10, '你好', "好不好", true, 3.14]; var_dump ($arr);
结果:
-
关联数组
// key=>value $arr = [ 'name' => "小哈哈", "sex" => "男", "age" => 18 ]; var_dump ($arr);
结果:
-
混合数组
$arr = ["id" =>1, 10, "name" =>"小明", 12, 3=>"你好"]; var_dump($arr);
结果:
-
-
直接声明数组元素的方法声明
-
索引数组
$yyds[] = 12; $yyds[] = "haha"; $yyds[] = 12.34; var_dump($yyds);
结果:
-
关联数组
$yyds["age"] = 12; $yyds["name"] = "haha"; $yyds["long"] = 12.34; var_dump($yyds);
结果:
-
混合数组
-
$yyds["age"] = 12; $yyds[1] = "haha"; $yyds[] = 12.34; var_dump($yyds);
结果:
-
-
-
3. 数组的相关操作
把数组的一个键值对看做一个标量就好
-
使用数组元素
- echo只能输出标量,不能直接输出数组(但可以输出数组中的某个元素)
- var_dump()查看数组
-
添加素组元素
数组变量名[下标名] = value;
-
修改数组元素
数组变量名[下标名] = NewValue;
-
删除数组元素
把数组元素看做变量(标量)就行
unset(数组变量[下标]);
-
清除数组
把数组看做变量就OK
unset($arr);
-
清空数组
仅删除数组元素,不删除数组类型
$arr=array(); // 或者 $arr=[];
-
数组长度
count();
-
用系统函数实现数组的添加
-
array_unshift()
-
作用:在原数组的开头插入一个或多个元素
-
参数:
-
@param1 要插入的数组变量(原数组)
-
@param2 要插入的数组的元素(插入元素)
........
-
返回值:插入后数组的新长度
-
注意:该功能直接改变的是原有数组
<?php $arr = array(3213, true, 'Hello World'); var_dump(count($arr)); // 原数组长度 var_dump($arr); // 原数组 $result = array_unshift($arr, '1231', 23213, "你好"); var_dump($result); // 返回值 新数组长度 var_dump($arr); // 新数组 ?>
-
-
array_push()
-
作用:在原数组的尾部插入一个或多个元素(入栈)
-
参数:
-
@param1 要插入的数组变量(原数组)
-
@param2 要插入的数组元素(插入元素)
......
-
返回值:插入后数组的新长度
-
注意:该功能直接改变原数组
<?php $arr = array(3213, true, 'Hello World'); var_dump(count($arr)); // 原数组长度 var_dump($arr); // 原数组 $result = array_push($arr, '1231', 23213, "你好"); var_dump($result); // 返回值 新数组长度 var_dump($arr); // 新数组 ?>
-
-
4.数组的遍历
-
for遍历
count($arr); 可以统计数组长度(元数个数)
$arr = []; $len = count($arr); // 让统计数组长度()在循环外判断一次就行,这样可以提高效率 for($i = 0; $i < $len; $i++) { // 输出值 echo $arr[$i]; }
-
foreach循环
数组专用遍历方法
-
键和值都需要
foreach($arr as $key => $value) { // $key和$value都是自定义的变量名,目的就是为了接收数组的键和值,这里给个指针 循环体 };
-
只需要值
foreach($arr as $value) { 循环体 };
-
只需要值
=要$key => $value都写上=,只写一个它会认为你要的是值
foreach($arr as $key => $value) { 循环体 };
-
5. 系统预定义变量
-
系统预定义变量是系统提供的一些数据变量,这些数据变量都是数组类型
-
$_GET 接收页面以GET方式提交的数据(超链接,form表单)
// <a href="?"> </a> // href里面加个?以get方式提交的话就是在当前URL里再加点参数在网址后边加上参数 // <form method="post" action="?"> // action不写的话就是提交到当前页面,那及时以get方式提交的就是没有参数罢了 </form>
-
$_POST 接收页面以POST方式提交的表单数据
-
$_SERVER 返回服务器和执行环境信息
-
$_COOKIE
-
$_SESSION
-
$GLOBALS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~