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实现像JSP,ASP里Application那样的全局变量
Jan 12 PHP
PHP Socket 编程
Apr 09 PHP
php 操作调试的方法
Jul 12 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
php中filter_input函数用法分析
Nov 15 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
PHP实现PDO操作mysql存储过程示例
Feb 13 PHP
PHP创建XML接口示例
Jul 04 PHP
Laravel实现ApiToken认证请求
Oct 14 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用数组返回无限分类的列表数据的代码
2010/08/08 PHP
php学习之数据类型之间的转换介绍
2011/06/09 PHP
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
ANGULARJS中使用JQUERY分页控件
2015/09/16 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
Python求离散序列导数的示例
2019/07/10 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
Python如何实现单例模式
2016/06/03 面试题
大学生新闻专业个人自我评价
2013/11/12 职场文书
社区重阳节活动总结
2015/03/24 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL