PHP数组–索引,关联和多维
时间:2020-02-23 14:42:00 来源:igfitidea点击:
数组是一组相似类型的变量。
PHP提供了array()
函数来创建一个PHP数组。
PHP数组
PHP中存在三种类型的数组。
索引数组–具有数字索引的数组。
关联数组–具有键值对的数组,类似于Java中的Map。
多维数组–数组数组。
PHP索引数组
有两种创建索引数组的方法。
–第一种使用没有任何索引的array()函数的方法,从0开始自动分配索引。
–第二种手动分配索引并创建数组的方法。
PHPcount()
函数用于获取数组的长度。
我们可以使用for循环遍历索引数组的所有值。
下面的代码显示了两种创建索引数组并在PHP中循环遍历的方法。
<?php $colors = array("Red","Green","Blue"); $colors1[0] = "Red"; $colors1[1] = "Green"; $length = count($colors); echo "colors array length=" . $length; //prints "colors array length=3" echo "<br>"; echo "colors1 array length=" . count($colors1); //prints "colors1 array length=2" //looping an indexed array for($i=0; $i<$length; $i++){ echo $colors[$i]; echo "<br>"; } ?>
PHP关联数组
关联数组使用命名键作为值,我们可以像建立索引数组一样创建它们。
" foreach"用于遍历关联数组。
<?php $colors = array("0"=>"Red","1"=>"Green","2"=>"Blue"); echo "0th element of array is " . $colors["0"]; echo "<br>"; //looping foreach ($colors as $key=>$value){ echo "Key=".$key." value=".$value; echo "<br>"; } ?>
上面的PHP脚本的输出是:
0th element of array is Red Key=0 value=Red Key=1 value=Green Key=2 value=Blue
PHP中的多维数组
多维数组是数组的数组。
我们可以使用数组函数创建二维,三维和n维数组。
多维数组中的每个数组都可以是索引数组或者关联数组。
我们可以使用for循环遍历索引数组,使用foreach循环遍历关联数组。
在下面的示例中,我显示了二维索引数组以及多维数组中索引数组和关联数组的混合。
我们可以使用print_r()
或者var_dump()
函数来打印人类可读的数组形式。
<?php //Indexed two-dimensional array $cars = array( array("Honda Accord", "V6", 30000), array("Toyota Camry", "LE", 24000), array("Nissan Altima", "V1"), ); //printing array information print_r($cars); echo "<br>"; var_dump($cars); echo "<br>"; //looping through two-dimensional indexed array for($i=0;$i<count($cars);$i++){ for($j=0;$j<count($cars[$i]);$j++){ echo $cars[$i][$j] . " "; } echo "<br>"; } echo "<br>"; //Indexed Associative two-dimensional array $cars = array( array("Name" => "Honda Accord", "Model" => "V6", "Cost" => 30000), array("Name" => "Toyota Camry", "Model" => "LE", "Cost" => 24000), array("Name" => "Nissan Altima", "Model" => "V1"), ); //printing array information print_r($cars); echo "<br>"; var_dump($cars); echo "<br>"; //looping through two-dimensional indexed associative array for($i=0;$i<count($cars);$i++){ $c=0; foreach($cars[$i] as $key=>$value){ $c++; echo $key."=".$value; if($c<count($cars[$i])) echo ","; } echo "<br>"; } ?>
上面的PHP脚本的输出是:
Array ( [0] => Array ( [0] => Honda Accord [1] => V6 [2] => 30000 ) [1] => Array ( [0] => Toyota Camry [1] => LE [2] => 24000 ) [2] => Array ( [0] => Nissan Altima [1] => V1 ) ) array(3) { [0]=> array(3) { [0]=> string(12) "Honda Accord" [1]=> string(2) "V6" [2]=> int(30000) } [1]=> array(3) { [0]=> string(12) "Toyota Camry" [1]=> string(2) "LE" [2]=> int(24000) } [2]=> array(2) { [0]=> string(13) "Nissan Altima" [1]=> string(2) "V1" } } Honda Accord V6 30000 Toyota Camry LE 24000 Nissan Altima V1 Array ( [0] => Array ( [Name] => Honda Accord [Model] => V6 [Cost] => 30000 ) [1] => Array ( [Name] => Toyota Camry [Model] => LE [Cost] => 24000 ) [2] => Array ( [Name] => Nissan Altima [Model] => V1 ) ) array(3) { [0]=> array(3) { ["Name"]=> string(12) "Honda Accord" ["Model"]=> string(2) "V6" ["Cost"]=> int(30000) } [1]=> array(3) { ["Name"]=> string(12) "Toyota Camry" ["Model"]=> string(2) "LE" ["Cost"]=> int(24000) } [2]=> array(2) { ["Name"]=> string(13) "Nissan Altima" ["Model"]=> string(2) "V1" } } Name=Honda Accord,Model=V6,Cost=30000 Name=Toyota Camry,Model=LE,Cost=24000 Name=Nissan Altima,Model=V1