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&amp;mysql(六)
Oct 09 PHP
PHP脚本的10个技巧(5)
Oct 09 PHP
php中支持多种编码的中文字符串截取函数!
Mar 20 PHP
PHP中函数rand和mt_rand的区别比较
Dec 26 PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 PHP
10个实用的PHP正则表达式汇总
Oct 23 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 PHP
PHP实现rar解压读取扩展包小结
Jun 03 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
收音机指标测试方法及仪器
2021/03/01 无线电
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
nodejs爬虫抓取数据之编码问题
2015/07/03 NodeJs
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
vue实现长图垂直居上 vue实现短图垂直居中
2017/10/18 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
JS错误处理与调试操作实例分析
2020/04/13 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
spyder常用快捷键(分享)
2017/07/19 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
Python 字典中的所有方法及用法
2020/06/10 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
爱国卫生月活动总结范文
2014/04/25 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
用Python创建简易网站图文教程
2021/06/11 Python
一文搞懂Java中的注解和反射
2022/06/21 Java/Android