文档章节

PHP(七)数组

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

在进行程序开发的过程中,有时候会需要创建许多相似的变量,对于这些相似的变量,可以把数据作为元素存储在数组中。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
php开源框架--templi

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

李lili
2013/08/26
723
1
ThinkPHP 学习笔记 (三)View层操作

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

bugyang
2013/02/19
0
1
array_multisort实现PHP多维数组排序示例讲解

array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。 arraymultisort — 对多个数组或多维数组进行排序 说明 bool arraymultisort ( array ar1 [,...

Juzhang
2014/01/12
0
0
PHP serialize & JSON 解析

对于JSON(JavaScript Object Notation)大家应该不陌生,它是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECM...

说谎的少年
2014/09/20
0
0
PDO

PDO 一、什么是PDO PDO是PHP数据对象(PHP Data Object)的缩写 二、怎么查看php是否支持PDO 1. 使用phpinfo() 函数查看PDO是否支持 2. 如果没有开启PDO 请查看 wamp目录:(C:wampbinphpphp7.0....

方花
2017/11/21
0
0
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
smarty中foreach的用法

{foreach},{foreachelse} {foreach} 用于像循环访问一个数字索引数组一样循环访问一个关联数组,与仅能访问数字索引数组的{section}不同,{foreach}的语法比 {section}的语法简单得多,但是作...

_大雁
2013/11/23
0
0
用php实现异步执行任务的队列(二)

六、队列具体实现三:写执行队列的程序 根据设计,执行队列的程序文件是 doqueue.php , 它的主要功能是把任务从队列表里取出来,并且在后台执行。 doqueue.php部分代码: 七、具体任务的业务...

_c_q
2016/09/08
293
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 配置时间和日期格式

你可以修改你 Confluence 为用户显示的时期和时间格式。设置的句法使用的是 SimpleDateFormat class,请参考 Java SimpleDateFormat 文档中的内容来设置日期和时间格式。 有下面 3 个时间和日...

honeymose
7分钟前
0
0
php seralize unserialize

关于PHP 序列化(serialize)和反序列化(unserialize)出现错误(Error at offset)的解决办法。 首先我们分析一下为什么会出现这个错误: 编码问题 UTF-8: ANSI: 我发现在我的机器上边编码改...

yeahlife
13分钟前
0
0
七、JSP九大内置对象和四个作用域

九大内置对象: request:类型是HttpServletRequest,和Servlet里的HttpServletRequest一模一样。 response:类型是HttpServletResponse,和Servlet里的HttpServletResponse一模一样。JSP里基...

Wakeeee_
16分钟前
0
0
第十四章NFS服务搭建与配置

14.1 NFS介绍 NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netap...

Linux学习笔记
48分钟前
0
0
双向认证-nginx

1、设置容器 docker run -it --name nginx-test2 -v /home/nginx:/apps -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 8183:80 -p 7443:443 -d nginx:stable 2、修改nginx配......

hotsmile
49分钟前
0
0
深入了解 Java 自动内存管理机制及性能优化

一图带你看完本文 一、运行时数据区域 首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造。根据《Java虚拟机规范(Java SE 7 版)》的规...

Java大蜗牛
51分钟前
4
0
SpringBoot | 第六章:常用注解介绍及简单使用

前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志 配置等。这章节开始,开始总结一些关于springboot的综合开发的知识点。由于SpringBoot本身是基于Spring和SpringMvc...

oKong
51分钟前
9
0
云数据库架构演进与实践

如今,大型企业如金融企业和银行等,在下一代的微服务架构转型要求下,需要基础软件和数据平台能够实现原生的云化,以满足微服务架构的需求。 微服务,也就是一种面向服务的,有特定边界的松...

巨杉数据库
53分钟前
0
0
Linux系统梳理---系统搭建(一):jdk卸载与安装

1.去官网下载符合Linux版本的jdk,暂用jdk-8u171-linux-x64.rpm 2.登陆Linux,进入usr目录,创建java目录(方便管理,可以其他位置):mkdir java 3.上传下载的jdk包至Linux服务器,使用rz指令(sz f...

勤奋的蚂蚁
今天
0
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

六库科技
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部