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网站提速三大“软”招
Oct 09 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
php删除数组元素示例分享
Feb 17 PHP
Thinkphp中的volist标签用法简介
Jun 18 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
php一行代码获取文件后缀名实例分析
Nov 12 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
详解php中反射的应用
Mar 15 PHP
php mysql数据库操作类(实例讲解)
Aug 06 PHP
一文搞懂php的垃圾回收机制
Jun 18 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留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
图片完美缩放
2006/09/07 Javascript
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
JS原生轮播图的简单实现(推荐)
2017/07/22 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
python实现百度语音识别api
2018/04/10 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
python 文件转成16进制数组的实例
2018/07/09 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
比驿:全球酒店比价网
2018/06/20 全球购物
意大利在线药房:Farmacia Loreto Gallo
2019/08/09 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
计划生育证明书写要求
2014/09/17 职场文书
群众路线剖析材料范文
2014/10/09 职场文书
校本课程教学计划
2015/01/19 职场文书
小班下学期个人总结
2015/02/12 职场文书
2015年副班长工作总结
2015/05/15 职场文书
辅导员学期工作总结
2015/08/14 职场文书
python神经网络编程之手写数字识别
2021/05/08 Python
详解Node.js如何处理ES6模块
2021/05/15 Javascript
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android