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 相关文章推荐
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
May 28 PHP
深入php处理整数函数的详解
Jun 09 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
php json与xml序列化/反序列化
Oct 28 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
yii实现图片上传及缩略图生成的方法
Dec 04 PHP
Symfony2联合查询实现方法
Mar 18 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
PHP调用Mailgun发送邮件的方法
May 04 PHP
PHP多维数组排序array详解
Nov 21 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 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 页面编码声明方法详解(header或meta)
2010/03/12 PHP
PHP chmod 函数与批量修改文件目录权限
2010/05/10 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
运动会领导邀请函
2014/02/05 职场文书
读书活动总结
2014/04/28 职场文书
教师节演讲稿
2014/05/06 职场文书
早恋主题班会
2015/08/14 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
聘任书的格式及模板
2019/10/28 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js