PHP数组学习之二维数组创建方法浅析

PHP支持一维和多维数组,在之前的文章PHP数组学习之一维数组如何创建和初始化(代码详解)》中我们通过代码示例给大家详细介绍了一维数组创建和初始化的几种方法,那么下面我们来了解一下PHP中的二维数组(多维数组),看看二维数组(多维数组)要如何创建,一起学习吧!

这篇文章我们会通过代码实例先介绍一下二维数组数组的创建方法,进而扩展介绍一下多维数组的创建方法。下面就来一起看看。

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

一、二维数组的创建

二维数组和一维数组的创建方式是一样的,只是将数组中元素换成数组即可。同样有两种方法:“直接为数组元素赋值”和“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 开始依次增加

示例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);
?>

输出结果:

2.png

示例2:“行下标”为空

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

输出结果:

3.png

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

<?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、使用array()函数

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

1)索引数组

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

输出结果:

2.png

2)关联数组

示例1:

<?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

示例2:

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

输出结果:

4.png

说明:获取二维数组中的元素

只需要注明每个维度的下标即可

<?PHP
header(Content-type:text/html;charset=utf-8);
$array = array
(
    array(姓名=>张三,年龄=>25,性别=>男),
    array(姓名=>李四,年龄=>21,性别=>男),
    array(姓名=>娜娜,年龄=>22,性别=>女)
);
 echo $array[0]['姓名'].'同学的年龄为'.$array[0]['年龄'].'岁';
?>

输出结果:

张三同学的年龄为25岁

二、多维数组的创建

多维数组是包含一个或多个数组的数组。

在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。

参考二维数组,我们可以很容易地了解多维数组的创建方法

示例:三维数组的创建

<?PHP
header(Content-type:text/html;charset=utf-8);
$array = array(
        '安徽' => array(
            '合肥'=>array('蜀山区','长丰县','肥东'),
			'宿州'=>array('墉桥区','灵璧县','泗县')
        ),
        '河南' => array(
            '洛阳'=>array('西工区','老城区','孟津县'),
            '郑州市'=>array('中原区','金水区')
        )
);
 var_dump($array);
?>

输出结果:

5.png

推荐:2021年PHP面试题大汇总(收藏)》《php视频教程

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...