首页 > 后端开发 > PHP问题 > php的多维数组是什么意思

php的多维数组是什么意思

百草
发布: 2023-07-06 15:19:22
原创
1172 人浏览过

php的多维数组指的是包含一个或多个数组的意思,例如二维数组就是一维数组里面再定义多个一维数组,数组的维度指示您需要选择元素的索引数,例如二维数组需要两个索引来选取元素、三维数组需要三个索引来选取元素。

php的多维数组是什么意思

本教程操作系统:windows10系统、PHP 8.1.3版本、DELL G3电脑。

PHP - 多维数组

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

PHP 能理解两、三、四或五级甚至更多级的多维数组。不过,超过三级深的数组对于大多数人难于管理。

注释:数组的维度指示您需要选择元素的索引数。

对于二维数组,您需要两个索引来选取元素

对于三维数组,您需要三个索引来选取元素

PHP - 两维数组

两维数组是数组的数组(三维数组是数组的数组的数组)。

首先,让我们看看下面的表格:

品牌      库存   销量

Volvo    33    20    

BMW    17    15    

Saab      5      2    

Land Rover    15    11    

我们能够在两维数组中存储上表中的数据,就像这样:

$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );
登录后复制

现在这个两维数组包含了四个数组,并且它有两个索引(下标):行和列。

如需访问 $cars 数组中的元素,我们必须使用两个索引(行和列):

实例

<?phpheader("Content-type:text/html;charset=utf-8");
$cars = array
   (
   array("Volvo",33,20),
   array("BMW",17,15),
   array("Saab",5,2),
   array("Land Rover",15,11)
   );
   echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>";
   echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>";
   echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>";
   echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>";
   ?>
登录后复制

7630.png

我们也可以在 For 循环中使用另一个 For 循环,来获得 $cars 数组中的元素(我们仍需使用两个索引):

<?php
header("Content-type:text/html;charset=utf-8");
$cars = array
   (
   array("Volvo",33,20),
   array("BMW",17,15),
   array("Saab",5,2),
   array("Land Rover",15,11)
   );
   for ($row = 0; $row <  4; $row++) {
   echo "<p><b>行数 $row</b></p>";
   echo "<ul>";
   for ($col = 0; $col <  3; $col++) {
     echo "<li>".$cars[$row][$col]."</li>";
   }
   echo "</ul>";
   }
   ?>
登录后复制

7629.png

二维数组的创建方法:

二维数组和一维数组的创建方式是一样的,只是将数组中元素换成数组即可。同样有两种方法:“直接为数组元素赋值”和“array()函数”,下面我们实际的代码案例来详细的给大家介绍一下这两种方法。

1、直接为数组元素赋值

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

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

输出结果:

7628.png

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

示例1:“列下标”为空

<?phpheader("Content-type:text/html;charset=utf-8");
$array[0][] = &#39;张三&#39;;
$array[0][] = &#39;25&#39;;
$array[0][] = &#39;男&#39;;
$array[1][] = &#39;李四&#39;;
$array[1][] = &#39;21&#39;;
$array[1][] = &#39;男&#39;;
$array[2][] = &#39;娜娜&#39;;
$array[2][] = &#39;22&#39;;
$array[2][] = &#39;女&#39;;
var_dump($array);
?>
登录后复制

输出结果:

7626.png

示例2:“行下标”为空

<?php
header("Content-type:text/html;
charset=utf-8");
$array[][&#39;姓名&#39;] = &#39;张三&#39;;
$array[][&#39;年龄&#39;] = &#39;25&#39;;
$array[][&#39;性别&#39;] = &#39;男&#39;;
$array[][&#39;姓名&#39;] = &#39;李四&#39;;
$array[][&#39;年龄&#39;] = &#39;21&#39;;
$array[][&#39;性别&#39;] = &#39;男&#39;;
$array[][&#39;姓名&#39;] = &#39;娜娜&#39;;
$array[][&#39;年龄&#39;] = &#39;22&#39;;
$array[][&#39;性别&#39;] = &#39;女&#39;;
var_dump($array);
?>
登录后复制

输出结果:

7625.png

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

<?php
header("Content-type:text/html;charset=utf-8");
$array[][] = &#39;张三&#39;;
$array[][] = &#39;25&#39;;
$array[][] = &#39;男&#39;;
$array[][] = &#39;李四&#39;;
$array[][] = &#39;21&#39;;
$array[][] = &#39;男&#39;;
$array[][] = &#39;娜娜&#39;;
$array[][] = &#39;22&#39;;
$array[][] = &#39;女&#39;;
var_dump($array);
?>
登录后复制

输出结果:

7624.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);
    ?>
登录后复制

输出结果:

7623.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);
    ?>
登录后复制

输出结果:

7622.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);
   ?>
登录后复制

输出结果:

7621.png

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

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

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
    array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女"));
 echo $array[0][&#39;姓名&#39;].&#39;同学的年龄为&#39;.$array[0][&#39;年龄&#39;].&#39;岁&#39;;
 ?>
登录后复制

输出结果:

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

输出结果:

7620.png

以上是php的多维数组是什么意思的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板