2025年4月3日 星期四 乙巳(蛇)年 正月初四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > PHP

PHP简单数组

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

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

数组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最后一个元素,此时“当前指针”为空。

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