PHP多维数组

在前面的教程中,我们已经了解了数组是一种数/值得简单列表。

有时我们希望用一个以上的键来保存数据,这样就需要用到PHP的多维数组来实现了。


基础知识

PHP多维数组指的是包含一个或多个以上的数组

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

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

php二维数组

二维数组就是数组的数组,同理三维数组就是数组的数组的数组

注:二维数组需要两个索引来选择元素

实例

假设有个成绩表

  姓名  语文
  数学  英语 
   小明
    90    80    77
   小龙    88   75    89
   小花    9    95    94

我们能够在二维数组中保存上表的数组,

$arr=array(
   array("小明","90","80","77"),
   array("小龙","88","75","89"),
   array("小花","99","95","94"),
);

用代码输出结果:

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(
    array("小明","90","80","77"),
    array("小龙","88","75","89"),
    array("小花","99","95","94"),
);
echo $arr[0][0]."---语文:".$arr[0][1].":数学:".$arr[0][2].":英语:".$arr[0][3]."<br>";
echo $arr[1][0]."---语文:".$arr[1][1].":数学:".$arr[1][2].":英语:".$arr[1][3]."<br>";
echo $arr[2][0]."---语文:".$arr[2][1].":数学:".$arr[2][2].":英语:".$arr[2][3]."<br>";
?>

程序运行结果:

小明---语文:90:数学:80:英语:77
小龙---语文:88:数学:75:英语:89
小花---语文:99:数学:95:英语:94


我们也可以在for循环中使用另一个for循环,来获得数组中的元素

实例

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(
    array("小明","90","80","77"),
    array("小龙","88","75","89"),
    array("小花","99","95","94"),
);
for($x=0;$x<3;$x++){
    echo "<p>行数$x</p>";
    echo"<ul>";
    for($row=0;$row<3;$row++){
        echo "<li>".$arr[$x][$row]."</li>";
    }
    echo"</ul>";
}
?>

程序运行结果:

行数0
•  小明
•  90
•  80
行数1
•  小龙
•  88
•  75
行数2
•  小花
•  99
•  95


PHP 三维数组

二维数组需要两个索引来选择元素

实例

<?php
$name=array(
    array(
        array('tom','andy','jack'),
       array('row','laya','lis')
    ),
);
print_r($name[0][1][1]);
?>

程序运行结果:

laya



Weiter lernen
||
<?php header("Content-type:text/html;charset=utf-8"); $arr=array( array("小明","90","80","77"), array("小龙","88","75","89"), array("小花","99","95","94"), ); for($x=0;$x<3;$x++){ echo "<p>行数$x</p>"; echo"<ul>"; for($row=0;$row<3;$row++){ echo "<li>".$arr[$x][$row]."</li>"; } echo"</ul>"; } ?>
einreichenCode zurücksetzen