PHP 数组

来源:互联网 发布:scrollreveal.js用法 编辑:程序博客网 时间:2024/06/14 01:32

  • PHP 数组
    • 数组是什么
    • 创建数组
    • PHP 数值数组索引数组
      • 两种创建数值数组的方法
      • 索引数组赋值有三种方式
      • 遍历数值数组
    • PHP 关联数组
      • 遍历关联数组
    • 多维数组
  • PHP 数组排序
    • PHP - 数组排序函数
      • sort - 对数组进行升序排列
      • rsort - 对数组进行降序排列
      • asort - 根据数组的值对数组进行升序排列
      • ksort - 根据数组的键对数组进行升序排列
      • arsort - 根据数组的值对数组进行降序排列
      • krsort - 根据数组的键对数组进行降序排列
  • Array函数参考手册

PHP 数组


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

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

输出:
I like Volvo, BMW and Toyota.


数组是什么?

数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西。

如果你去某个酒店住店,服务员会告诉你房间号是多少,具体房间里有存储了什么,那就需要根据房间号进到房间里才知道了。
图片描述


创建数组

在 PHP 中,array() 函数用于创建数组:
array();
在 PHP 中,有三种类型的数组:

• 数值数组 - 带有数字 ID 键的数组
• 关联数组 - 带有指定的键的数组,每个键关联一个值
• 多维数组 - 包含一个或多个数组的数组


PHP 数值数组(索引数组)

索引和关联两个词都是针对数组的键而言的。

两种创建数值数组的方法:

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

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

人工分配 ID 键:

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

数值数组(索引数组)是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。

图片描述

<?php    //创建一个索引数组,索引数组的键是“0”,值是“苹果”    $fruit = array("苹果","香蕉","菠萝");    print_r($fruit);?>

输出:
Array
(
  [0] => 苹果
  [1] => 香蕉
  [2] => 菠萝
)


索引数组赋值有三种方式:

第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,索引数组中,中括号内的键一定是整数。比如,$arr[0]='苹果';

第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,索引数组中,键一定是整数。比如,array('0'=>'苹果');

第三种:用array()创建一个空数组,直接在数组里用英文的单引号’或者英文的双引号”赋值,数组会默认建立从0开始的整数的键。比如array('苹果');这个数组相当于array('0'=>'苹果');


获取数组的长度 - 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


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");    print_r($age);    echo "Peter is " . $age['Peter'] . " years old.";?>

输出:
Array
(
[Peter] => 35
[Ben] => 37
[Joe] => 43
)
Peter is 35 years old.


遍历关联数组

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

<?php    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");    print_r($age);    foreach($age as $x=>$x_value)    {        echo "Key=" . $x . ", Value=" . $x_value;        echo "<br>";    }?>

输出:
Array
(
[Peter] => 35
[Ben] => 37
[Joe] => 43
)
Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

笔者另一篇博客也提到关联数组:http://blog.csdn.net/fancie_wong/article/details/53000000#php-%E7%BB%93%E6%9E%84%E5%B5%8C%E5%A5%97%E4%B9%8B%E5%BE%AA%E7%8E%AF%E5%B5%8C%E5%A5%97


多维数组

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

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

输出:

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 (     "csdn"=>array     (         "CSDN",         "http://www.csdn.net"     ),     "google"=>array     (         "Google 搜索",         "http://www.google.com"     ),     "taobao"=>array     (         "淘宝",         "http://www.taobao.com"     ) ); print("<pre>"); // 格式化输出数组 print_r($sites); print("</pre>"); ?>

输出:

Array(    [csdn] => Array        (            [0] => CSDN            [1] => http://www.csdn.net        )    [google] => Array        (            [0] => Google 搜索            [1] => http://www.google.com        )    [taobao] => Array        (            [0] => 淘宝            [1] => http://www.taobao.com        ))

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

echo $sites['csdn'][0] . '地址为:' . $sites['csdn'][1];

输出:
CSDN地址为:http://www.csdn.net

PHP 数组排序


数组中的元素可以按字母或数字顺序进行降序或升序排列。


PHP - 数组排序函数

在本章中,我们将一一介绍下列 PHP 数组排序函数:

• sort() - 对数组进行升序排列
• rsort() - 对数组进行降序排列
• asort() - 根据关联数组的值,对数组进行升序排列
• ksort() - 根据关联数组的键,对数组进行升序排列
• arsort() - 根据关联数组的值,对数组进行降序排列
• krsort() - 根据关联数组的键,对数组进行降序排列


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

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

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

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

<?php    $numbers=array(4,6,2,22,11);    sort($numbers);?>

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

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

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

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

<?php    $numbers=array(4,6,2,22,11);    rsort($numbers);?>

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

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

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

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

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

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

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

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

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

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

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

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

Array函数参考手册:

http://blog.csdn.net/fancie_wong/article/details/53007273#t2


更多PHP相关学习:http://blog.csdn.net/Fancie_Wong/article/category/6498482

0 0
原创粉丝点击