您当前的位置:首页 > 计算机 > 编程开发 > PHP

PHP简单数组

时间:11-30来源:作者:点击数:

数组是一组数据有序排列的集合,把一系列数据按一定规则组织起来,形成一个可操作的整体。

数组array是一组有序的变量,其中每个变量被称为一个元素。

每个元素由一个特殊的标识符来区分,这个标识符称为键(也称为下标)

数组中的每个实体都包含两项:键和值。

PHP中数组可以是整数、浮点数、字符串、布尔值或数组,而且数组中的元素可以是由不同类型的数据组成。

数组类型

  • PHP支持两种数组:索引数组(indexed array)和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。
  • 数字索引数组:PHP数字索引一般表示数组元素在数组中的位置,它由数字组成,下标从0开始,数字索引数组默认索引值从数字0开始,不需要特别指定,PHP会自动为索引数组的键名赋一个整数值,然后从这个值开始自动增量,当然,也可以指定从某个位置开始保存数据。
  • 数组可以构造成一系列“键-值(key-value)”对,其中每一对都是数组的一个项目或元素(element)。对于列表中的每个项目,都有一个与之关联的键(key)或索引(index)

声明数组

  • 在PHP中声明数组的方式主要有两种:一种是应用array()函数声明数组,另一种是直接通过为数组元素赋值的方式声明数组
    通过array()函数声明数组:
    $array_r_name = array([[key]=>value],[[key]=>value],...[[key]=>value]];
    

注意:元素键名在数组中不能重复,如有重复后面的元素将会覆盖前面同键名的元素,它与数组元素一一对应。

如不指定数组元素键名,PHP将按照第1个出现的未指定键名的元素的索引名为O,之后元素的键名为当前最大整数键名加1。

$arr_tmp = array(“张三”,3=>“男”,32,“G03”=>“广州”,“大二”);

解释:该数组第1个元素没有指定键名,所以其默认键名为O,因为第2个元素指定了键名为3,故第3个元素的键名为3+1即4,第5个元素的键名为4+1即5,该数组的结构如下所示:

Array([0]=>张三 [3]=>男 [4]=>32 [G03]=>广州 [5]=>大二)

  • 直接赋值方式

一个变量声明为一个数组元素有三种方法:

第一种方法:不指定数组元素的“键”

示例程序:

$characters[] = "humour";

第二种方法:将数组元素的“键”指定为某个整数

示例程序:

$interests[2] = "music";

第三种方法:将数组元素的‘“键”指定为某个字符串

示例程序:

$colors["red"] = "red";
  • 二维数组

二维数组是指数组的元素本身也是数组。二维数组的定义与使用与一维数组相同,不同的是数组元素也是数组。

定义二维数组:

$arr_goods = array(
    "tv"=>array("日立","三星","海信","创维"),
    "computer"=>array("think pad","dell","联想","华硕"),
    "network"=>array("tp-link","d-link","华为")
);

访问数组元素:

$arr_goods[“network”][0];//访问键名为network的第1个二级元素

遍历连续整数“键”的数组

  • 输出数组元素
bool print_r ( mixed expression )

如果该函数的参数expression为普通的整型、字符型或实型变量,则输出该变量本身。如果该参数为数组,则按一定键值和元素的顺序显示出该数组中的所有元素。

void var_dump ( mixed expression [, mixedexpression [, ...]] )

此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

  • count()函数

语法格式:

int count (array arr[, intmode])

函功能:统计并计算数组arr中元素的个数。如果数组arr是多维数组,可将mode 参数的值设为常量COUNT_RECURSIVE(或整数1),计算数组arr中所有元素的个数;mode 的默认值是0。

非连续“键”的数组遍历

  • key()函数

语法格式:

mixed key(array &arr)

函数功能:返回数组arr中“当前指针”所指元素的“键”名。

  • current()函数

语法格式:

mixedcurrent (array &arr)

函数功能:返回数组arr中“当前指针”所指元素的“值”。

  • next()函数

语法格式:

mixednext (array &arr )

函数功能:移动数组arr“当前指针”(current),使“当前指针”(current)指向数组arr的下一个元素;然后返回“当前指针”(current)所指的元素“值”。

说明:当“当前指针”(current)指向数组的最后一个元素时,使用next()函数移动“当前指针”(current)后,“当前指针”(current)为“空”,并且“当前指针”(current)指向的元素“值”为FALSE。

  • array_combine()函数

语法格式:

arrayarray_combine (array keys, array values)

函数功能:创建一个新数组,用数组keys的值作为新数组的“键”,数组values的值作为新数组的“值”。

eg:

<?php
$colors = array('orange','red','yellow');
$fruits = array('orange','apple','banana');
$temp = array_combine($colors,$fruits);
do{
    $key = key($temp);
    $value = current($temp);
    echo $key.'=>'.$value.'<br>';
}while(next($temp));
?>

输出:orange=>orange

red=>apple

yellow=>banana

foreach语言结构

  • foreach(arrayas $value);

使用该方法循环遍历给定的数组array,每次循环中,“当前指针”所指元素的“值”赋给变量$value,然后移动数组array“当前指针”,使“当前指针”指向下一个元素,周而复始,直至数组array最后一个元素,此时“当前指针”为空。

  • foreach(arrayas $key=>$value);

使用该方法循环遍历给定的数组array,每次循环中,“当前指针”所指元素的“键”名赋给变量$key,“当前指针”所指元素的值赋给变量$value,然后移动数组array“当前指针”,使“当前指针”指向下一个元素,周而复始,直至数组array最后一个元素,此时“当前指针”为空。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门