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 相关文章推荐
ajax实现无刷新分页(php)
Jul 18 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
Nov 08 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
php中ob_flush函数和flush函数用法分析
Mar 18 PHP
typecho插件编写教程(五):核心代码
May 28 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
Symfony2开发之控制器用法实例分析
Feb 05 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
php实现的简单数据库操作Model类
Nov 16 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
巧用canvas
2017/01/21 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
2019/06/26 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
Html5之title吸顶功能
2018/06/04 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
师生聚会感言
2014/01/26 职场文书
公司活动方案范文
2014/03/06 职场文书
广告词串烧
2014/03/19 职场文书
文体活动实施方案
2014/03/27 职场文书
职工代表大会主持词
2014/04/01 职场文书
中央空调节能方案
2014/06/15 职场文书
工地标语大全
2014/06/18 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
Python基础之数据类型知识汇总
2021/05/18 Python
浅谈Redis中的RDB快照
2021/06/29 Redis
基于Python实现将列表数据生成折线图
2022/03/23 Python