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 相关文章推荐
通俗易懂的php防注入代码
Apr 07 PHP
PHP代码保护--Zend Guard的使用详解
Jun 03 PHP
PHP获取本周第一天和最后一天示例代码
Feb 24 PHP
php的ajax简单实例
Feb 27 PHP
5款适合PHP使用的HTML编辑器推荐
Jul 03 PHP
使用XHGui来测试PHP性能的教程
Jul 03 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
Apr 26 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
mysql 性能的检查和优化方法
2009/06/21 PHP
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
VBScript版代码高亮
2006/06/26 Javascript
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
python中Mako库实例用法
2020/12/31 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技