文档章节

PHP(七)数组

ChuckleLiu
 ChuckleLiu
发布于 2015/12/25 18:47
字数 622
阅读 66
收藏 1

在进行程序开发的过程中,有时候会需要创建许多相似的变量,对于这些相似的变量,可以把数据作为元素存储在数组中。PHP的数组除了具有一般数组的特性之外,它还提供了与数组操作有关的大量行为和函数。

什么是数组

数组(array)就是数据的组合。在程序设计中把数组定义为一组有某种共同特性的元素组成的集合,如具有某种相似性或者类型相同的集合。每个元素都包括键(key)和值(value)两个项,其中一个集合中的键都是唯一的,可以通过查询键来获取相应值。

PHP中的数组是一个有序图,图是一种把value映射到keys的类型,此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量)、散列表(图的一种实现)、字典、集合、栈、队列及更多可能性。因为可以用另一个PHP数组作为值,也可以很容易地模拟树。

创建数组

数组的分类:数值数组、关联数组、多维数组

数值数组

数值数组存储的每个元素都带有一个数字标示键,可以使用不同的方法来创建数值数组,创建时自动分配数字标识键。

栗子:

$name = array("张三", "李四", "王五")

上面这段代码是用array函数来创建一个含有三个元素的数值数组

注意:这里的数值索引数组以位置0起始,而不是1

也可以以人工分配数字标识键的方式创建一个相同的数组,代码如下:

$names[0] = "张三";
$names[1] = "李四";
$names[2] = "王五";

打印数值数组的结构并使用数字标识键读取相应的值

<?php
$names[0] = "张三";
$names[1] = "李四";
$names[2] = "王五";
print_r($names);
echo $names[1]."和".$names[2]."都是".$names[0]."的小学同学";
?>

结果:

Array ( [0] => 张三 [1] => 李四 [2] => 王五 ) 李四和王五都是张三的小学同学

关联数组

关联数组的每一个标识键都关联一个值,在存储有关具体命名的值得数据时,使用数值数组可能不是最好的做法。通过关联数组,程序中可以把值作为键,并向它们赋值


© 著作权归作者所有

共有 人打赏支持
ChuckleLiu
粉丝 2
博文 15
码字总数 10402
作品 0
南岸
幸运大转盘-jQuery+PHP实现的抽奖程序

目前好多网站上应用的转盘抽奖程序大多是基于flash的,而本文结合实例将使用jQuery和PHP来实现转盘抽奖程序,为了便于理解,作者分两部分来讲解,本文讲解第一部分,侧重使用jQuery实现转盘的...

蜗牛奔跑
2015/07/06
0
0
三日php之路 -- 第二,三天(php知识要点)

一、基础 (1)数组 // 数组的创建$arr = array("apple", "banana"); $arr = array("f1"=>"apple", "f2"=>"banana"); // 在php5.4之后 可以使用 $arr = [1,2,3]; // 对于数组的遍历$arr_len ......

明天以后
2014/09/29
0
0
ThinkPHP 学习笔记 (三)View层操作

一、模板变量设置及显示 1、模板变量赋值 $this->assign('name',$value);//或者下面的写法:$this->name = $value; 2、变量输出 $this->display(); 3、页面显示 {$变量名称} <body><p>用 户 ......

bugyang
2013/02/19
0
1
php &符号的问题

//生成无限极分类树 function make_tree($arr){ $refer = array(); $tree = array(); foreach($arr as $k => $v){ $refer[$v['id']] = & $arr[$k]; //创建主键的数组引用 } foreach($arr as ......

manbudezhu
2016/07/06
200
3
php开源框架--templi

TEMPLI php 使用手册 一、控制器 controller 控制器的命名 nameController.php 控制器的编写 field()->where()->select(); //载入模型文件 使用模型文件内自定义的 方法add Templi::model(‘...

李lili
2013/08/26
723
1

没有更多内容

加载失败,请刷新页面

加载更多

05-《深度拆解Java虚拟机》之JVM是如何执行方法调用的?(下)

一、问题引入 我们知道,设计模式大量使用了虚方法来实现多态。但是虚方法的性能效率并不高,所以作者就想在此基础上写篇文章,评估每一种设计模式因为虚方法调用而造成的性能开销,并且在文...

飞鱼说编程
27分钟前
1
0
nginx统一入口 多服务出口

nginx配置多ip和端口统一调用入口log_format中$upstream_addr 标识打印转发的url地址配置upstream和locationhttp {include mime.types;default_type application/octet-stream...

GoldenVein
29分钟前
1
0
阿里P9架构师谈:高并发网站的监控系统选型、比较、核心监控指标

在高并发分布式环境下,对于访问量大的业务、接口等,需要及时的监控网站的健康程度,防止网站出现访问缓慢,甚至在特殊情况出现应用服务器雪崩等场景,在高并发场景下网站无法正常访问的情况...

我是你大哥
31分钟前
1
0
华为HiAI 助力苏宁易购,让你尽享完美视觉购物体验!

还在感慨商品照片与实物存在差距,又要退货? 还在抱怨被忽视的图片小细节,影响了生活品质? 想要“买买买”, 又担心海量的商品图片耗光你的流量? 就在近期 搭载HiAI能力的苏宁易购新版上线...

华为终端开放实验室
32分钟前
1
0
聊聊redisson的RMap的computeIfAbsent操作

序 本文主要研究一下redisson的RMap的computeIfAbsent操作 实例 @Test public void testRMapComputeIfAbsent(){ Config config = new Config(); config.useSingleS......

go4it
45分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部