🤖 AI智能摘要
暂未配置
前言
前面我们学的变量,一次只能存一个数据。但实际开发里文章列表、用户列表、菜单、商品数据,都是批量的数据,这时就要使用数组。数组是 PHP 开发里使用频率最高的知识点,绝大多数动态渲染的页面都依靠数组实现。
一、什么是数组
数组就是一个变量内部可以存放多条数据,能够存储文字、数字、多条详情信息等内容。数组分为三类:索引数组、关联数组、二维数组。
二、索引数组(默认数组)
下标为数字,默认从 0 开始排序,适合制作简单列表。
1. 定义索引数组
<?php
// 存储多个用户名
$user = ["小明","小红","小张","小白"];
// 输出第一个值 下标0
echo $user[0];
echo "<br>";
// 输出第二个值 下标1
echo $user[1];
?>重点规则
- 数组下标从 0 开始计数,并非 1
[0]代表第一条内容,[1]代表第二条内容
三、遍历数组(for 循环读取)
数据较多时手动调用下标过于繁琐,可以借助循环读取全部内容。
<?php
$user = ["小明","小红","小张","小白"];
// count() 自动获取数组长度
$len = count($user);
for($i=0;$i<$len;$i++){
echo "用户:".$user[$i]."<br>";
}
?>四、关联数组(重点!开发最常用)
可以自定义键名,用来储存单条完整详情信息,适配用户资料、文章详情这类场景,格式为键 => 值。
1. 基础关联数组
<?php
$info = [
"name" => "张三",
"age" => 18,
"sex" => "男"
];
// 单独输出
echo "姓名:".$info["name"]."<br>";
echo "年龄:".$info["age"]."<br>";
echo "性别:".$info["sex"];
?>五、foreach 专属数组遍历(必学)
PHP 专为数组设计的循环方式,无需填写长度与下标,使用最简单。
1. 遍历索引数组
<?php
$list = ["苹果","香蕉","橘子"];
foreach($list as $val){
echo "水果:".$val."<br>";
}
?>2. 遍历关联数组(键 + 值)
<?php
$info = [
"name" => "李四",
"age" => 22,
"email" => "123@qq.com"
];
foreach($info as $key => $val){
echo $key.":".$val."<br>";
}
?>六、二维数组(项目实战核心)
数组内部嵌套数组,用来存放多条文章、多条用户数据,真实网站开发基本都使用二维数组。
1. 二维数组示例(文章列表)
<?php
$article = [
["title"=>"PHP基础教程","time"=>"2026-08-08"],
["title"=>"数组教程","time"=>"2026-08-08"],
["title"=>"循环判断教程","time"=>"2026-08-08"]
];
?>2. 二维数组遍历(实战常用模板)
<?php
$article = [
["title"=>"PHP基础教程","time"=>"2026-08-08"],
["title"=>"数组教程","time"=>"2026-08-08"],
["title"=>"循环判断教程","time"=>"2026-08-08"]
];
foreach($article as $v){
echo "标题:".$v["title"]."<br>";
echo "时间:".$v["time"]."<hr>";
}
?>七、常用数组函数(开发必备)
1. count () 获取数组数量
count($数组名);2. array\_push () 往数组末尾追加数据
<?php
$a = [1,2,3];
array_push($a,4);
print_r($a);
?>3. print\_r () 打印数组全部内容
调试时查看数组结构专用。
print_r($数组名);八、本章实战小案例
制作简易网站新闻列表:
<?php
$news = [
["title"=>"开学通知","content"=>"今日正式开课"],
["title"=>"PHP更新","content"=>"新增数组章节"]
];
foreach($news as $v){
echo "<h3>".$v["title"]."</h3>";
echo "<p>".$v["content"]."</p>";
}
?>九、本章总结
- 索引数组使用数字下标,适合搭建简易列表;
- 关联数组自定义键值,用来存放单条详情信息;
- foreach 是遍历数组的最优写法;
- 二维数组是项目开发核心,用来存储批量数据;
- 网站里的文章、商品、用户列表底层全部依托二维数组实现。
(注:部分内容可能由 AI 生成)