首页 > 代码库 > php各数组整理集合

php各数组整理集合

数组能够在单独的变量名中存储一个或多个值。

eg: 

<?php
$cars=array("Volvo","BMW","SAAB"); 
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

 

显示: I like Volvo, BMW and SAAB.


 

在 PHP 中, array() 函数用于创建数组

  索引是自动分配的(索引从 0 开始):

  $cars=array("Volvo","BMW","SAAB");

  或者也可以手动分配索引:

  $cars[0]="Volvo";
  $cars[1]="BMW";
  $cars[2]="SAAB";

count() 函数用于返回数组的长度(元素数)

遍历索引数组

如需遍历并输出索引数组的所有值,您可以使用 for 循环,就像这样:

<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);

for($x=0;$x<$arrlength;$x++) {
   echo $cars[$x];
   echo "<br>";
}
?>

显示为Volvo
     BMW
    SAAB


PHP 关联数组

关联数组是使用您分配给数组的指定键的数组。

有两种创建关联数组的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

或者:

$age[‘Peter‘]="35";
$age[‘Ben‘]="37";
$age[‘Joe‘]="43";

随后可以在脚本中使用指定键:

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age[‘Peter‘] . " years old.";
?>

显示为Peter is 43 years old.


 

遍历关联数组

如需遍历并输出关联数组的所有值,您可以使用 foreach 循环,就像这样:

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");

foreach($age as $x=>$x_value) {
   echo "Key=" . $x . ", Value="http://www.mamicode.com/. $x_value;
   echo "<br>";
}
?>

Key=Bill, Value=http://www.mamicode.com/35
Key=Steve, Value=http://www.mamicode.com/37
Key=Peter, Value=http://www.mamicode.com/43


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 数组中的元素,我们必须使用两个索引(行和列):

实例

<?php
$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>";
?>

结果

Volvo: 库存:33, 已售:20.
BMW: 库存:17, 已售:15.
Saab: 库存:5, 已售:2.
Land Rover: 库存:15, 已售:11.

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

实例

<?php
$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>";
}
?>

运行结果

行数 0

  • Volvo
  • 33
  • 20

行数 1

  • BMW
  • 17
  • 15

行数 2

  • Saab
  • 5
  • 2

行数 3

  • Land Rover
  • 15
  • 11

 

php各数组整理集合