二维数组又称为矩阵,是指一维数组里面再定义一个或多个一维数组,即一个数组中的元素是另一个数组;二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符为“数组名[常量表达式][常量表达式]”。二维数组的声明方式有两种:1、直接赋值,语法“$数组名[行下标][列下标]=值;”;2、用array(),语法“$数组名=array(键名=>array(键名=>值));”。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在php中,所谓的二维数组,简单来说就是在一维数组里面再定义多个一维数组,即一个数组中的值可以是另一个数组(可能有点片面,但是二维数组的原理大致是这样)。二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符为“数组名[常量表达式][常量表达式]”。

二维数组和一维数组的创建方式是一样的,只是将数组中元素换成数组即可。

二维数组的声明方式有两种

  • “直接为数组元素赋值”

  • “array()函数”

下面我们实际的代码案例来详细的给大家介绍一下这两种方法。

1、直接为数组元素赋值

我们可以通过形如“$数组变量名[行下标] [列下标]= 值;”的格式来创建并初始化二维数组

<?php
header("Content-type:text/html;charset=utf-8");
$array[0]['姓名'] = '张三';
$array[0]['年龄'] = '25';
$array[0]['性别'] = '男';
$array[1]['姓名'] = '李四';
$array[1]['年龄'] = '21';
$array[1]['性别'] = '男';
$array[2]['姓名'] = '娜娜';
$array[2]['年龄'] = '22';
$array[2]['性别'] = '女';
var_dump($array);
?>

1.png

二维数组的行下标列下标可以为空(即不指定具体的索引值),那么默认为数字索引,而索引值默认从 0 开始依次增加。

3.png

示例1:“行下标”和“列下标”都为空

<?php
header("Content-type:text/html;charset=utf-8");
$array[][] = '张三';
$array[][] = '25';
$array[][] = '男';
$array[][] = '李四';
$array[][] = '21';
$array[][] = '男';
$array[][] = '娜娜';
$array[][] = '22';
$array[][] = '女';
var_dump($array);
?>

1.png

示例2:“行下标”或“列下标”都为空

<?php
header("Content-type:text/html;charset=utf-8");
$array[0][] = '张三';
$array[0][] = '25';
$array[0][] = '男';
$array[]['姓名'] = '娜娜';
$array[]['年龄'] = '22';
$array[]['性别'] = '女';
var_dump($array);
?>

2.png

2、使用array()函数

使用 array() 函数声明二维数组与声明一维数组相似。

array() 函数接受一定数量用逗号分隔的key=>value参数对。一维数组的语法格式如下所示:

$数组变量名 = array(key1 => value1, key2 => value2, ..., keyN => valueN);

而二维数组就是将一维数组中一个或多个value参数变为array(....)。

1)索引数组

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("张三",25,"男"),
    array("李四",21,"男"),
    array("娜娜",22,"女")
);
var_dump($array);
?>

3.png

2)关联数组

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    "学生1"=>array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    "学生2"=>array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    "学生3"=>array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
 var_dump($array);
?>

3.png


php中什么叫二维数组