PHP二维数组有五种创建方式:一、array()嵌套定义;二、逐层动态赋值;三、方括号短语法(PHP 5.4+);四、数据库查询结果直接生成;五、array_fill()与array_map()批量初始化。

如果您需要在PHP中定义和操作二维数组,必须掌握其标准语法结构与常见创建方式。以下是实现PHP二维数组的多种方法:
通过在外部array()中直接嵌入多个内部array(),可一次性声明具有行和列结构的二维数组。该方式适用于已知全部数据且结构固定的场景。
1、声明一个包含两行三列的二维数组:$arr = array(array(1, 2, 3), array(4, 5, 6));
2、为每行指定键名以增强可读性:$arr = array('row1' => array('a' => 1, 'b' => 2), 'row2' => array('a' => 3, 'b' => 4));
立即学习“PHP免费学习笔记(深入)”;
3、访问第二行第一个元素:echo $arr['row2']['a'];
先初始化空数组,再按需为每一维索引分配子数组或具体值。该方式适合运行时逐步填充数据,灵活性高且内存占用可控。
1、初始化空二维数组:$arr = array();
2、为第一行添加三个元素:$arr[0] = array(10, 20, 30);
3、单独设置某位置的值:$arr[1][0] = 40;
4、追加新行:$arr[] = array(50, 60);
自PHP 5.4起支持短数组语法,用[]替代array(),使二维数组定义更简洁直观,尤其适合嵌套层级较多的情况。
1、创建两行两列的数值二维数组:$arr = [[1, 2], [3, 4]];
2、混合键名与索引的二维结构:$arr = ['users' => ['name' => 'Alice', 'age' => 25], 'admin' => ['level' => 9]];
3、向已有二维数组追加一行:$arr[] = ['id' => 3, 'status' => 'active'];
执行SELECT语句后,使用mysqli_fetch_all()或PDOStatement::fetchAll()可直接获取关联/索引二维数组,省去手动构造步骤。
1、使用mysqli获取数字索引二维数组:$result = mysqli_query($conn, "SELECT id, name FROM users"); $arr = mysqli_fetch_all($result, MYSQLI_NUM);
2、获取关联键名二维数组:$arr = mysqli_fetch_all($result, MYSQLI_ASSOC);
3、PDO方式获取索引+关联双格式:$stmt = $pdo->query("SELECT * FROM products"); $arr = $stmt->fetchAll(PDO::FETCH_BOTH);
当需要创建固定大小、含默认值的二维数组时,结合array_fill()与匿名函数可高效完成初始化,避免重复循环。
1、创建3×4全零二维数组:$arr = array_fill(0, 3, array_fill(0, 4, 0));
2、生成每行值递增的二维结构:$arr = array_map(function($i) { return array_fill(0, 3, $i); }, range(1, 2));
3、初始化带键名的二维模板:$keys = ['id', 'title', 'content']; $arr = array_fill(0, 5, array_fill_keys($keys, ''));
以上就是php二维数组写法格式_php多维数组定义创建技巧【指南】的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号