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中利用XML技术构造远程服务(下)
Oct 09 PHP
php 表单验证实现代码
Mar 10 PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
检查用户名是否已在mysql中存在的php写法
Jan 20 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
php获取字段名示例分享
Mar 03 PHP
Win7下手动安装apache2.2、php5.4笔记
Apr 03 PHP
php 参数过滤、数据过滤详解
Oct 26 PHP
简单理解PHP的面向对象编程方式
May 17 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
php 浮点数比较方法详解
May 05 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
php 读取输出其他文件的实现方法
2016/07/26 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
采用call方式实现js继承
2014/05/20 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
js实现下一页页码效果
2017/03/07 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
简单了解python协程的相关知识
2019/08/31 Python
Django和Flask框架优缺点对比
2019/10/24 Python
wxPython实现绘图小例子
2019/11/19 Python
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
后勤人员自我鉴定
2013/10/20 职场文书
行政管理人员精品工作推荐信
2013/11/04 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
触摸春天教学反思
2014/02/03 职场文书
幼儿老师求职信
2014/06/30 职场文书
烈士陵园观后感
2015/06/08 职场文书
初中数学教学随笔
2015/08/15 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers