php怎么声明一个二维数组_php声明二维数组嵌套数组初始化法【教程】

PHP中声明二维数组有五种方法:一、用array()函数嵌套;二、PHP5.4+用[]短语法;三、先声明空数组再逐行赋值;四、用循环配合array_push()构建;五、用字符串键名定义关联二维数组。

在 PHP 中,声明二维数组通常通过嵌套数组的方式实现,即数组的每个元素本身也是一个数组。以下是几种常见的初始化方法:

一、使用 array() 函数嵌套声明

这是最基础且兼容性最强的方式,适用于所有 PHP 版本,通过在外层数组中直接嵌套内层数组来构造二维结构。

1、使用传统 array() 语法逐层定义外层数组和内层数组。

2、每个内层数组作为外层数组的一个值,用逗号分隔。

3、例如:$arr = array(array(1, 2), array(3, 4), array(5, 6));

二、使用方括号 [] 语法初始化(PHP 5.4+)

自 PHP 5.4 起支持短数组语法,书写更简洁,语义更清晰,是当前推荐的声明方式。

1、外层数组使用一对方括号,内部每个元素为一个独立的数组字面量。

2、每个内层数组也使用方括号包裹其元素,并以逗号分隔。

3、例如:$arr = [[1, 2], [3, 4], [5, 6]];

三、先声明空数组再逐行赋值

适用于运行时动态构建二维数组的场景,允许按需填充行与列,灵活性高。

1、先用 $arr = [];明一个空数组。

2、使用索引方式为每一行分配一个新数组:$arr[0] = [1, 2];

3、继续为后续行赋值:$arr[1] = [3, 4]; $arr[2] = [5, 6];

四、使用循环配合 array_push() 构建

适合从数据源(如数据库结果集或外部输入)批量生成二维结构,增强可读性与可控性。

1、初始化空数组:$arr = [];

2、准备待插入的子数组,例如 $row = [7, 8];

3、调用 array_push($arr, $row); 将子数组追加到外层数组末尾。

五、键名显式声明的关联二维数组

当需要语义化行标识(如用户ID、分类名等)而非数字索引时,可使用字符串键名进行结构化定义。

1、外层数组键名为有意义的字符串,对应值为内层数组。

2、内层数组同样支持数字或字符串键名,例如:$users = ['admin' => ['id' => 1, 'name' => 'Alice'], 'guest' => ['id' => 2, 'name' => 'Bob']];