PHP 数组基本操作小结(推荐)


Posted in PHP onJune 13, 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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
Jun 28 PHP
使用PHP会话(Session)实现用户登陆功能
Jun 29 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
php检测数组长度函数sizeof与count用法
Nov 17 PHP
php中删除、清空session的方式总结
Oct 09 PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 PHP
PHP对象、模式与实践之高级特性分析
Dec 08 PHP
PHP静态成员变量
Feb 14 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 #PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 #PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 #PHP
Netbeans 8.2将支持PHP7 更精彩
Jun 13 #PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
Jun 13 #PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 #PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 #PHP
You might like
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
PDO::commit讲解
2019/01/27 PHP
js日期、星座的级联显示代码
2014/01/23 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
python测试驱动开发实例
2014/10/08 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
python list多级排序知识点总结
2019/10/23 Python
Python测试线程应用程序过程解析
2019/12/31 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
家长给孩子的评语
2014/01/30 职场文书
承认错误的检讨书
2014/01/30 职场文书
教师个人自我评价范文
2014/04/13 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
导游词书写之黄山
2019/08/06 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP
Golang 并发下的问题定位及解决方案
2022/03/16 Golang