数组,顾名思义,本质上就是一系列数据的组合。在这个组合中,每个数据都是独立的,可以对每个单独的数据进行分配和读取。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, ...):向数组中添加元素

最新文章

  1. CentOS 7 安装出现 /dev/root does not exits 导致无法安装的问题
  2. gFTP的安装与使用
  3. com.alibaba.fastjson.JSONObject学习
  4. php中数据库的操作
  5. unity3d所要知道的基础知识体系大纲,可以对照着学习,不定期更新
  6. Centos 6.4上面用Shell脚本一键安装vsftpd
  7. SCU3502 The Almost Lucky Number
  8. session cookie 相结合实现
  9. 2015 Multi-University Training Contest 5
  10. 【Android工具类】Activity管理工具类AppManager
  11. android获取存储卡使用情况
  12. 多对多中间表详解 -- Django从入门到精通系列教程
  13. Mysql给某一台主机授权访问,修改root密码
  14. 无法启动mysql服务”1067 进程意外终止”解决办法【简记】
  15. Angular4.0中常用指令
  16. ajax获取值的两种方法
  17. Windows激活客户端 已停止工作
  18. PHP中url相关函数
  19. git使用命令记录
  20. .NET Framework System.Array.Sort 数组类,加深对 IComparer、IComparable 以及泛型委托、匿名方法、Lambda 表达式的理解

热门文章

  1. [Neo4j]Conda虚拟环境中安装python-igraph
  2. [Flink]Flink1.6三种运行模式安装部署以及实现WordCount
  3. 磁盘冗余阵列之RAID10的配置
  4. python 爬取猫眼电影top100数据
  5. JS面试题-&lt;变量和类型&gt;-JavaScript的数据类型
  6. dhcpv6+radvd服务器搭建
  7. docker——数据卷volume:文件共享
  8. centos7 编译安装 php7.3.11
  9. fiddler工具使用大全
  10. 用例建模Use Case Modeling