如何用PHP创建数组,什么是PHP的数组,数组如何创建和使用

数组是什么?

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

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

$cars1="Volvo";

$cars2="BMW";

$cars3="Toyota";

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

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

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

在 PHP 中创建数组

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

array();

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

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

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

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

PHP 数值数组

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

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

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

人工分配 ID 键:

$cars[0]="Volvo";

$cars[1]="BMW";

$cars[2]="Toyota";

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

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

echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";

?>

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

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

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

echo count($cars);

?>

遍历数值数组

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

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

$arrlength=count($cars);

for($x=0;$x

{

echo $cars[$x];

echo "
";

}

?>

for 循环

for 循环用于您预先知道脚本需要运行的次数的情况。

语法:

for (初始值; 条件; 增量)

{

要执行的代码;

}

例如上面的代码,初始值变量x为0,条件是变量x小于数组的长度,增量是每次循环变量x加1,当x不小于数组的长度后,循环结束。

PHP 关联数组

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

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

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

或者

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

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

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

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

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

echo "Peter is " . $age['Peter'] . " years old.";

?>

遍历关联数组

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

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

foreach($age as $x=>$x_value)

{

echo "Key=" . $x . ", Value=" . $x_value;

echo "
";

}

?>

foreach有两种语法:

第一种:遍历给定的 数组语句 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

foreach (array_expression as $value)

第二种:同上,同时当前单元的键名也会在每次循环中被赋给变量 $key。

foreach (array_expression as $key => $value)

例如上面的代码采用的就是第二种方式,每次循环都会将键名赋值给变量x,也就是依次为Peter,Ben,Joe。

PHP - 数组排序函数

PHP 数组排序函数:

sort() - 对数组进行升序排列

rsort() - 对数组进行降序排列

asort() - 根据关联数组的值,对数组进行升序排列

ksort() - 根据关联数组的键,对数组进行升序排列

arsort() - 根据关联数组的值,对数组进行降序排列

krsort() - 根据关联数组的键,对数组进行降序排列

sort() - 对数组进行升序排列

下面的实例将 $cars 数组中的元素按照字母升序排列:

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

sort($cars);

print_r($cars);

?>

运行结果

Array ( [0] => BMW [1] => Toyota [2] => Volvo )

下面的实例将 $numbers 数组中的元素按照数字升序排列:

$numbers=array(4,6,2,22,11);

sort($numbers);

print_r($numbers);

?>

运行结果

Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 11 [4] => 22 )

rsort() - 对数组进行降序排列

下面的实例将 $cars 数组中的元素按照字母降序排列:

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

rsort($cars);

print_r($cars);

?>

运行结果:

Array ( [0] => Volvo [1] => Toyota [2] => BMW )

下面的实例将 $numbers 数组中的元素按照数字降序排列:

$numbers=array(4,6,2,22,11);

rsort($numbers);

print_r($numbers);

?>

运行结果:

Array ( [0] => 22 [1] => 11 [2] => 6 [3] => 4 [4] => 2 )

asort() - 根据数组的值,对数组进行升序排列

下面的实例根据数组的值,对关联数组进行升序排列:

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

asort($age);

print_r($age);

?>

运行结果:

Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )

ksort() - 根据数组的键,对数组进行升序排列

下面的实例根据数组的键,对关联数组进行升序排列:

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

ksort($age);

print_r($age);

?>

运行结果:

Array ( [Ben] => 37 [Joe] => 43 [Peter] => 35 )

arsort() - 根据数组的值,对数组进行降序排列

下面的实例根据数组的值,对关联数组进行降序排列:

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

arsort($age);

print_r($age);

?>

运行结果:

Array ( [Joe] => 43 [Ben] => 37 [Peter] => 35 )

krsort() - 根据数组的键,对数组进行降序排列

下面的实例根据数组的键,对关联数组进行降序排列:

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

krsort($age);

print_r($age);

?>

运行结果:

Array ( [Peter] => 35 [Joe] => 43 [Ben] => 37 )

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值