一、开场白:二维数组?不就是“数组套数组”嘛!
哥们儿,刚学PHP那会儿,听到“二维数组”这词是不是虎躯一震?感觉是什么了不得的高深概念?别慌!今天咱就把它扒个底朝天。
说人话版本:一维数组就是你家的鞋柜,一格放一只鞋。二维数组就是你小区的快递柜——一个大柜子里有好多小格子,每个小格子还能放一个包裹(这个包裹本身又可以是个数组)。说白了,就是“数组里面再放数组”。
它为啥重要? 想象一下,你要存一个班50个学生的信息,每人有姓名、年龄、分数。难道你搞50个$name1, $name2...,50个$score1, $score2...吗?那代码得乱成啥样?二维数组就是来拯救这种“一团乱麻”的数据的!
二、初识庐山真面目:二维数组长啥样?
来,直接看个最经典的例子——用二维数组表示一张成绩表:
// 一维数组:只存一列数据,比如只存名字
$students = ['张三', '李四', '王五'];
// 二维数组:存多列数据,每个学生是一个小数组
$scoreTable = [
['姓名' => '张三', '语文' => 90, '数学' => 85],
['姓名' => '李四', '语文' => 78, '数学' => 92],
['姓名' => '王五', '语文' => 88, '数学' => 95],
];
// 访问“李四”的数学成绩:先找第1行(索引从0开始),再找‘数学’键
echo $scoreTable[1]['数学']; // 输出:92
看出门道没?$scoreTable 这个大数组里面,装了3个小数组。每个小数组结构都一样(都有姓名、语文、数学),这就形成了一个整齐的“表格”。
灵魂比喻:
- 一维数组 = 一条线(排队)
- 二维数组 = 一张表格(Excel表)
- 三维数组 = 一摞表格(一个文件夹里多张Excel表)
咱今天主攻二维,能把表格玩转,你已经能解决90%的业务数据了!
三、手把手创建:三种姿势,任君挑选
创建二维数组,就跟搭积木一样简单,这里送上三种最常用的姿势。
姿势一:直接赋值法(简单粗暴,适合数据固定)
$menu = [
['id' => 1, '菜名' => '宫保鸡丁', '价格' => 38],
['id' => 2, '菜名' => '麻婆豆腐', '价格' => 22],
['id' => 3, '菜名' => '回锅肉', '价格' => 35],
];
// 适合:网站导航、固定配置、产品目录
姿势二:循环生成法(动态创建,适合处理数据)
$teamMembers = [];
for ($i = 1; $i <= 5; $i++) {
$teamMembers[] = [
'工号' => 'EMP00' . $i,
'姓名' => '员工' . $i,
'部门' => ($i % 2 == 0) ? '技术部' : '市场部',
];
}
print_r($teamMembers); // 看!5个员工数据瞬间生成
// 适合:从数据库或API取数据后组装
姿势三:先声明后追加法(灵活组装)
$cart = []; // 空购物车
$cart[] = ['商品' => '手机', '单价' => 2999, '数量' => 1]; // 自动用数字索引0
$cart[] = ['商品' =>

最低0.47元/天 解锁文章
511

被折叠的 条评论
为什么被折叠?



