数组,顾名思义,本质上就是一系列数据的组合。在这个组合中,每个数据都是独立的,可以对每个单独的数据进行分配和读取。PHP对数据的操作能力非常强大,尤其是PHP为程序开发人员提供了大量方便、易懂的数组操作函数,本章重点PHP数组的创建和使用。

创建数组和使用数组

在PHP中创建数组的方式主要有两种:一种是应用array()函数创建数组,另一种是直接通过为数组元素赋值的方式创建数组。

1.1使用array()函数创建数组

用array()语言结构来新建一个数组,该数组接受任意数量用逗号分隔的键(key)=>值(value)对;同时也可以在array中只给出数组元素值,而不必给出键,格式如下:

//键值对
array(key=>value,...)
//只有值
array(value1,value2,...)

在只有值而没有键的数组,在使用其中的数据时,可以直接利用他们在数组中的排列顺序取值:

$array = [100,"name"=>'lhs'];
echo $array[0];//
echo $array[1];//报错

注:1、应用array()函数声明数组时,数组下标既可以是数值索引也可以是关联索引。

  2、自PHP5.4起可以使用短数组定义语法,用[ ]代替array(),如:$array=['asp','php']。

  3、排列顺序取数组的值,默认下标从0开始,然后依次增加1。

1.2通过赋值方式创建数组

PHP中另一种比较灵活的数组创建方式是直接为数组元素赋值。如果在创建数组是不知道所创建数组的大小,或在实际编写程序时数组的大小可能发生改变,采用这种数组创建的方法较好,例如:

$array[1]="赋";
$array[2]="值";
$array[3]="方";
$array[4]="式";
print_r($array);//Array ( [1] => 赋 [2] => 值 [3] => 方 [4] => 式 )

1.3数组的类型

PHP支持两种数组:数字索引和关联数组,前者使用数字作为键,后者使用字符串作为键。

1.4多维数组

数组不一定就是一个键名和值得简单列表,数组中的每个位置还可以保存另一数组。使用这种方法,可以创建一个二维数组,例如:

$array = array(
'书籍' => array('文学','历史','地理'),
'体育用品'=>array('m'=>'足球','n'=>'篮球')
);
echo "<pre>";
print_r($array);

运行结果:

Array
(
[书籍] => Array
(
[0] => 文学
[1] => 历史
[2] => 地理
)
[体育用品] => Array
(
[m] => 足球
[n] => 篮球
)
)

按照同样的思路,将前面二维数组中最底层元素替换成数组,就可以创建一个三维数组。

1.5遍历数组

遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询等功能。本文实例讲述了PHP数组遍历的几种常见方式,分享给大家供大家参考

1.5.1、使用for循环遍历数组

for循环只能用于遍历,纯索引数组!!!!

$arr = array(1,2,3,5,6,7);
$num = count($arr); //count最好放到for外面,可以让函数只执行一次
echo "数组元素的个数{$num}<br/>";
for($i=0;$i<$num;$i++){
echo "{$i}==>{$arr[$i]}<br/>";
}

结果如下:

数组元素的个数6
0==>1
1==>2
2==>3
3==>5
4==>6
5==>7

1.5.2、forEach循环遍历数组(最常用)

foreach可以遍历任何类型的数组!!!

$arr = array(1,2,3,"one"=>4,5,6,7);
foreach($arr as $value){
echo "{$value} ";
}
echo "<br>";
foreach($arr as $key => $value){
echo "{$key}=>{$value}<br>";
}

运行结果:

1 2 3 4 5 6 7
0=>1
1=>2
2=>3
one=>4
3=>5
4=>6
5=>7

1.6常用的数组函数

array_sum($arr):对数组内部的所有元素做求和运算

count($array):统计数组元素个数

array_search($name,$array):查询数组中指定元素

array_pop($array):获取数组中最后一个元素

end($array)函数取出数组的最后一个元素

array_unique($array):删除数组中重复元素

array_push($array, value, ...):向数组中添加元素

PHP数组总汇的更多相关文章

  1. javascript数组操作大全,数组方法总汇

    1. shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] ...

  2. JavaScript中数组的操作方法总汇

    Array(数组)是JavaScript中最为常用的类型了.ECMAScript中的数组都是数据的有序列表.数组中可以保存任何类型的数据.数组的大小是可以动态调整的,既可以随着数据的添加自动增长以容纳 ...

  3. [转] javascript对数组的操作

    javascript数组操作大全,数组方法总汇 1. shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = ...

  4. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  5. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  6. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

    建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...

  7. 了解PHP中的Array数组和foreach

    1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组    . 2.例子:一般的数组 这里,我 ...

  8. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  9. JavaScript常见的五种数组去重的方式

    ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...

随机推荐

  1. CSPS模拟 76

    前序遍历,中序遍历,后序遍历 说的都是根节点在前,根节点在中,根节点在后. 长记性!

  2. ASP.NET Core 3.0 gRPC 拦截器

    目录 ASP.NET Core 3.0 使用gRPC ASP.NET Core 3.0 gRPC 双向流 ASP.NET Core 3.0 gRPC 拦截器 一. 前言 前面两篇文章给大家介绍了使用g ...

  3. 「POJ 3268」Silver Cow Party

    更好的阅读体验 Portal Portal1: POJ Portal2: Luogu Description One cow from each of N farms \((1 \le N \le 1 ...

  4. MATLAB基本使用及SIMULINK建模仿真实验

    MATLAB基本使用及SIMULINK建模仿真实验 这是我总结的操作方法: 1 )  M脚本文件的编写 1.新建M-file: 2.输入指令: 3.保存(注意:保存路径需要与工作路径一致) 2 )在S ...

  5. php编辑器notepad++ 推荐一款非常好看主题和字体

    php编辑器notepad++ 推荐一款非常好看主题和字体1.主题名称:Obsidian 2.字体字号:Courier New 10 3.设置方法:设置---语言格式设置---选择主题,同时勾选“使用 ...

  6. EFCore批量操作,你真的清楚吗

    背景 EntityFramework Core有许多新的特性,其中一个重要特性便是批量操作. 批量操作意味着不需要为每次Insert/Update/Delete操作发送单独的命令,而是在一次SQL请求 ...

  7. bash:加减乘除(bc、let)

    bc *. echo "$2 * $2" | bc > file let 如果只是 let a=1 和 a=1,它们没有区别,但是 let 还可以用于带赋值的运算,例如 le ...

  8. mongodb存储二进制数据

    mongodb 3.x存储二进制数据并不是以base64的方式,虽然在mongo客户端的查询结果以base64方式显示,请放心使用.下面来分析存储文件的存储内容.base64编码数据会增长1/3成为顾 ...

  9. ubuntu server 1604 配置网络信息

    对于新安装的linux 服务器(ubuntu server 1604)   一,配置网络 连接网线与路由器 查看系统的网卡信息 ifconfig -a //列出所有的网卡信息,不管启用还是没有启用的 ...

  10. 配置k8s集群context-rbac实践

    说明 在openshift环境中,可以通过oc project {project_name}命令来切换project,那么在k8s中式如何切换namespace的呢?(ocp的project即相当于k ...