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); ?>
输出结果:
二维数组的行下标
和列下标
可以为空(即不指定具体的索引值),那么默认为数字索引,而索引值默认从 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:“行下标”为空
<?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:“行下标”和“列下标”都为空
<?php header("Content-type:text/html;charset=utf-8"); $array[][] = '张三'; $array[][] = '25'; $array[][] = '男'; $array[][] = '李四'; $array[][] = '21'; $array[][] = '男'; $array[][] = '娜娜'; $array[][] = '22'; $array[][] = '女'; var_dump($array); ?>
输出结果:
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)关联数组
示例1:
<?php header("Content-type:text/html;charset=utf-8"); $array = array ( "学生1"=>array("张三",25,"男"), "学生2"=>array("李四",21,"男"), "学生3"=>array("娜娜",22,"女") ); var_dump($array); ?>
输出结果:
示例2:
<?php header("Content-type:text/html;charset=utf-8"); $array = array ( "学生1"=>array("姓名"=>"张三","年龄"=>25,"性别"=>"男"), "学生2"=>array("姓名"=>"李四","年龄"=>21,"性别"=>"男"), "学生3"=>array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女") ); var_dump($array); ?>
输出结果:
说明:获取二维数组中的元素
只需要注明每个维度的下标即可
<?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); ?>
输出结果: