php数组

前面通过从php数据类型中可以了解到关于php数组的内容。

PHP数组

数组能够在单个变量中存储多个值;

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

  运行结果:

I like Volvo, BMW and Toyota.

  

数组是什么?

数组是一个能在单个变量中存储多个值的特殊变量。

如果您有一个项目清单(例如:车名字的清单),将其存储到单个变量中,如下所示:

$cars1="Volvo";

$cars2="BMW";

$cars3="Toyota";

然而,如果您想要遍历数组并找出特定的一个呢?如果数组的项不只 3 个而是 300 个呢?

解决办法是创建一个数组!

数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。

在 PHP 中创建数组

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

array();

在 PHP 中,有三种类型的数组:

  • 数值数组 - 带有数字 ID 键的数组

  • 关联数组 - 带有指定的键的数组,每个键关联一个值

  • 多维数组 - 包含一个或多个数组的数组

1. PHP 数值数组

这里有两种创建数值数组的方法:

自动分配 ID 键(ID 键总是从 0 开始):

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

人工分配 ID 键:

$cars[0]="Volvo";

$cars[1]="BMW";

$cars[2]="Toyota";

下面的实例创建一个名为 $cars 的数值数组,并给数组分配三个元素,然后打印一段包含数组值的文本:

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

  运行结果:

I like Volvo, BMW and Toyota.

  

获取数组的长度 - count() 函数

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

<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>

  运行结果:

3

  

遍历数值数组

遍历并打印数值数组中的所有值,您可以使用 for 循环,如下所示:

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

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

  运行结果:

Volvo
BMW
Toyota

  这里用到了for循环,在后面的php循环语句中有介绍;

提示:遍历数组还可以用一个循环语句foreach();

2. PHP 关联数组

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

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

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

or:

$age['Peter']="35";

$age['Ben']="37";

$age['Joe']="43";

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

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

  运行结果:

Peter is 35 years old.

  

遍历关联数组

遍历并打印关联数组中的所有值,您可以使用 foreach 循环,如下所示:

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

foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

  运行结果:

Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

  

3. 多维数组

一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组。依照这种方式,我们可以创建二维或者三维数组:

<?php
// 二维数组:
$cars = array
(
    array("Volvo",100,96),
    array("BMW",60,59),
    array("Toyota",110,100)
);
print_r($cars); 
?>

  运行结果:

Array ( [0] => Array ( [0] => Volvo [1] => 100 [2] => 96 ) [1] => Array ( [0] => BMW [1] => 60 [2] => 59 ) [2] => Array ( [0] => Toyota [1] => 110 [2] => 100 ) )

  从上面的结果中可以看到多维数组的样式。

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

在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。

在这个实例中,我们创建了一个自动分配 ID 键的多维数组:

<?php 
$sites = array
(
  "Griffin"=>array
  (
    "Peter",
    "Lois",
    "Megan"
  ),
  "Quagmire"=>array
  (
"Glenn"
),
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
); print("<pre>"); // 格式化输出数组 print_r($sites); print("</pre>"); ?>

  运行结果:

Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)

  让我们试着显示上面数组中的某个值:

echo "Is " . $families['Griffin'][2] . 
" a part of the Griffin family?";

  运行结果:

 Is Megan a part of the Griffin family? 

  

关于数组的一些函数及操作会在下面有更多介绍。

如果你发现哪里写的有问题或跟你理解的有出入都可以加群讨论:368711665