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代码
Sep 14 PHP
如何设置mysql允许外网访问
Jun 04 PHP
php实现监听事件
Nov 06 PHP
sae使用smarty模板的方法
Dec 17 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
PHP中应该避免使用同名变量(拆分临时变量)
Apr 03 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
PHP引用返回用法示例
May 28 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
php中Swoole的热更新实现代码实例
Mar 04 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/03 咖啡文化
为PHP初学者的8点有效建议
2010/11/20 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
python实现126邮箱发送邮件
2020/05/20 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
为什么需要版本控制?
2013/08/08 面试题
大学生工作推荐信范文
2013/12/02 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
创业计划书之餐饮
2019/09/02 职场文书
MySQL学习之基础命令实操总结
2022/03/19 MySQL
Python中的socket网络模块介绍
2022/07/23 Python