PHP 数组基本操作方法详解


Posted in PHP onJune 17, 2016

数组的概念

数组(array)是 PHP 中一个非常重要的概念,我们可以把数组看做一系列类似的数据的集合,实际上数组是一个有序图。

PHP 还提供了超过 70 个内建函数来操作数组。

创建数组

使用 array() 语言结构创建数组:

<?php
$arr_age1 = array(18, 20, 25);
// 或者:
$arr_age2 = array("wang"=>18, "li"=>20, "zhang"=>25);
// 空数组:
$arr_age3 =array();
?>

也可以使用数组控制器 [] 来创建数组:

<?php
$arr_age1[] = 18;
$arr_age1[] = 20;
$arr_age1[] = 25;
// 或者:
$arr_age2["wang"] = 18;
$arr_age2["li"] = 20;
$arr_age2["zhang"] = 25;
?>

数组键名与值

数组实体都包含两项:键名和值。

在下面创建数组的例子中:

$arr_age1 = array(18, 20, 25);我们给 $arr_age1 分配了 3 个数组单元(也称元素),其值分别是 18、20 和 25。系统会自动给这 3 个数组单元分配 3 个数字序号,分别为 0、1 和 2。即 $arr_age1 数组的完整结构为:

Array ( [0] => 18 [1] => 20 [2] => 25 ) 这个系统自动分配的序号称为键名,这种键名为数字 ID 的数组称为 索引数组( indexed array )。

当然也可以手动指定键名:

$arr_age1 = array( 0 => 18, 1 => 20, 2 => 25 );

注意:手动指定键名可以不从 0 开始,也可以不用按数字顺序来指定键名。当一个新单元加入数组而没有指定健名时,系统将自动的在现有数组中最大的数字键中加 1 ,作为新单元的键名。

当使用字符串而非数字索引作为键名时,这种数组称为 关联数组( associative array ):

$arr_age2 = array("wang"=>18, "li"=>20, "zhang"=>25);但在 PHP 中,这两种数组没有明显的界限,二者可以混合使用。注意关联数组中对于键名大小写是敏感的。
 

输出数组单元值

可以使用如下方式访问输出数组单元值:

echo $arr_age1[0];        //输出:18
echo $arr_age2["wang"];    //输出:18某些情况下为了调试,可能需要输出整个数组的数据及结构,这时候需要使用 print_r() 或 var_dump() 函数,具体参见PHP print_r 与 var_dump 输出数组

操作数组单元

可以象操作普通变量一样操作数组单元,如:

<?php
$arr_age2 = array("wang"=>18, "li"=>20, "zhang"=>25);
$arr_age2["wang"] = $arr_age2["wang"] + 10;
?>

现在 $arr_age2 为:

Array ( [wang] => 28 [li] => 20 [zhang] => 25 ) 检查一个数组单元是被设定,请使用 isset() 。

销毁数组

使用 unset() 函数来销毁一个数组单元或整个数组:

<?php
unset($arr_age1[0]);
unset($arr_age1);
?>

多维数组

如果数组中的值也是数组时,我们就称这样的数组为递归数组或多维数组。

例子:

<?php
$all = array( "fruits" => array( "a"=>"orange", "b"=>"banana", "c"=>"apple"),
	"ages" => array( 18, 20, 25 )
	);
echo $all["fruits"]["c"];	//输出apple
echo $all["ages"][0];		//输出18
?>

以上就是小编为大家带来的PHP 数组基本操作方法详解全部内容了,希望大家多多支持三水点靠木~

PHP 相关文章推荐
php查看session内容的函数
Aug 27 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
php中设置多级目录session的问题
Aug 08 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
Jul 05 PHP
PHP生成sitemap.xml地图函数
Nov 13 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
一个完整的php文件上传类实例讲解
Oct 27 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
Laravel find in set排序实例
Oct 09 PHP
全面了解PHP中的全局变量
Jun 17 #PHP
浅析PHP7新功能及语法变化总结
Jun 17 #PHP
PHP设计模式之迭代器模式
Jun 17 #PHP
浅析PHP中的i++与++i的区别及效率
Jun 15 #PHP
学习PHP session的传递方式
Jun 15 #PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 #PHP
PHP实现适用于文件内容操作的分页类
Jun 15 #PHP
You might like
PHP动态创建Web站点的方法
2011/08/14 PHP
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
解读! Python在人工智能中的作用
2017/11/14 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
Django时区详解
2019/07/24 Python
python 弧度与角度互转实例
2020/04/15 Python
Python通过len函数返回对象长度
2020/10/22 Python
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
泰国折扣酒店预订:Hotels2Thailand
2018/03/20 全球购物
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
总经理助理的八要求
2013/11/12 职场文书
廉洁教育学习材料
2014/05/19 职场文书
项目申请汇报材料
2014/08/16 职场文书
员工开除通知书
2015/04/25 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
演讲开场白和结束语
2015/05/29 职场文书
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL