PHP 多维数组
时间:2021-12-08 作者:匿名
多维数组是存储每个索引在另一个阵列而不是存储单个值的数组。简单来说,多维数组就是数组的数组。
正如我们已经看到如何创建关联数组,多维数组是一个数组数组,将在其中保存关联数组。在实际应用中,我们经常用到多维数组,例如客户订单信息,首先一个表用于存储客户信息,然后再客户信息中包含一个data的数组,里面可以存放订单信息。
创建多维数组
<?php /* 建立一个多维数组 */ $cars = array( array( "name"=>"Urus", "type"=>"SUV", "brand"=>"Lamborghini" ), array( "name"=>"Cayenne", "type"=>"SUV", "brand"=>"Porsche" ), array( "name"=>"Bentayga", "type"=>"SUV", "brand"=>"Bentley" ), ); ?>
我们发现,原本的一维数组中的值,在这里换成了一个数组,每个值都是一个数组。
由于我们在这里处理数组内的数组,因此要访问信息,我们首先需要访问该数组,然后从存储在多维数组中的特定数组中获取数据。
例如,如果我们想显示Urus car 的数据,那么首先我们必须获得多维数组中的第一个数组,可以使用索引0访问它,然后在该数组中,我们可以显示所有数据。
<?php /* 访问多维数组 */ echo $cars[0]["type"]." - ".$cars[0]["brand"]."\n"; echo $cars[2]["type"]." - ".$cars[2]["brand"]."\n"; ?>
输出
SUV - Lamborghini SUV - Bentley
遍历 PHP 多维数组
<?php /* multidimensional array initialization */ $cars = array( array( "name"=>"Urus", "type"=>"SUV", "brand"=>"Lamborghini" ), array( "name"=>"Cayenne", "type"=>"SUV", "brand"=>"Porsche" ), array( "name"=>"Bentayga", "type"=>"SUV", "brand"=>"Bentley" ), ); // array traversal // find size of the array $size = count($lamborghinis); // using the for loop for($i = 0; $i < $size; $i++) { foreach($cars[$i] as $key => $value) { echo $key . " : " . $value . "\n"; } echo "\n"; } ?>
如果数组不是一个索引数组,是一个关联数组,那么需要像下面这样遍历它:
<?php /* multidimensional array initialization */ $cars = array( "Urus" => array( "type"=>"SUV", "brand"=>"Lamborghini" ), "Cayenne" => array( "type"=>"SUV", "brand"=>"Porsche" ), "Bentayga" => array( "type"=>"SUV", "brand"=>"Bentley" ), ); /* array traversal */ // find size of the array $size = count($lamborghinis); // array keys $keys = arra_keys($cars); // using the for loop for($i = 0; $i < $size; $i++) { echo $keys[$i]. "\n"; foreach($cars[$keys[$i]] as $key => $value) { echo $key . " : " . $value . "\n"; } echo "\n"; } ?>
多维数组的优点
1、详细信息可以存储在多维数组中。
2、在顶层,它可以保持索引或关联,这使得它更加用户友好,因为他们可以根据自己的要求使用它。