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动态创建Flash动画
Oct 09 PHP
PHP数据缓存技术
Feb 14 PHP
ionCube 一款类似zend的PHP加密/解密工具
Jul 25 PHP
PHP 冒泡排序算法的实现代码
Aug 08 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
Apr 03 PHP
php实现的xml操作类
Jan 15 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
php命令行模式代码实例详解
2021/02/26 PHP
js资料toString 方法
2007/03/13 Javascript
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
javascript 框架小结 个人工作经验
2009/06/13 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
[01:32]TI奖金增速竟因它再创新高!DOTA2勇士令状不朽珍藏Ⅰ饰品欣赏
2018/05/18 DOTA
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
Python yield 使用方法浅析
2017/05/20 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
什么是TCP/IP
2014/07/27 面试题
Java的类与C++的类有什么不同
2014/01/18 面试题
校园歌手大赛策划书
2014/01/17 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
护理目标管理责任书
2014/07/25 职场文书
自荐信格式范文
2015/03/04 职场文书
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL
5个实用的JavaScript新特性
2022/06/16 Javascript