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读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
Jun 28 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
微信红包随机生成算法php版
Jul 21 PHP
php数组指针操作详解
Feb 14 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
多个Laravel项目如何共用migrations详解
Sep 25 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
Aug 09 PHP
php 策略模式原理与应用深入理解
Sep 25 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 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实现linux命令tail -f
2016/02/22 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
在Python的Django框架中创建语言文件
2015/07/27 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
python实现自动发送报警监控邮件
2018/06/21 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
小学新学期教师寄语
2014/01/18 职场文书
《黄河颂》教学反思
2014/02/07 职场文书
自我鉴定总结
2014/03/24 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
酒店前台辞职书
2015/02/26 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
SQL Server使用导出向导功能
2022/04/08 SQL Server
Redis 限流器
2022/05/15 Redis
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python