PHP读书笔记(6)- 数组

数组定义

  数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西。PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。

定义数组 array()

  可以用 array() 语言结构来新建一个数组。它接受任意数量用逗号分隔的 键(key) => 值(value)对。

  array(  key =>  value
       , ...
       )
  // 键(key)可是是一个整数 integer 或字符串 string
  // 值(value)可以是任意类型的值

  最后一个数组单元之后的逗号可以省略。通常用于单行数组定义中,例如常用 array(1, 2) 而不是 array(1, 2, )。对多行数组定义通常保留最后一个逗号,这样要添加一个新单元时更方便。

  自 5.4 起可以使用短数组定义语法,用 [] 替代 array()

索引数组初始化

  PHP有两种数组:索引数组、关联数组。

  索引和关联两个词都是针对数组的键而言的。

  先介绍下索引数组,索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。

索引数组赋值

  索引数组赋值有三种方式:

  第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,索引数组中,中括号内的键一定是整数。

  第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,索引数组中,键一定是整数。

  第三种:用array()创建一个空数组,直接在数组里用英文的单引号或者英文的双引号"赋值,数组会默认建立从0开始的整数的键。

访问索引数组内容

  有的时候我们需要把数组中的内容也就是值取出来该怎么办呢?用数组变量的名字后跟的中括号中的键,来访问数组中的值。

  例如:

  $name = array(‘张三‘,‘李四‘);
  $name0 = $name[‘0‘];
  print_r($name0);//结果为苹果

  上面代码的作用:先把一个数组$fruit第一个值取出来然后赋给一个变量$name0,最后输出变量值。

for循环访问索引数组里的值

  

for循环访问索引数组里的值

  for循环可以将数组里的所有值都访问到,下面我们展示下,用for循环访问索引数组里的值。

  例如:

1 $name=array(‘张三‘,‘李四‘,‘王五‘);
2
3 for($i=0; $i<3; $i++){
4
5     echo ‘<br>数组第‘.$i.‘值是:‘.$name[$i];
6
7 }

foreach循环访问索引数组里的值

  foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问索引数组里的值。

  例如:

1 $name=array(‘张三‘,‘李四‘,‘王五‘);
2 foreach($name as $k=>$v){
3     echo ‘<br>第‘.$k.‘值是:‘.$v;
4 }

关联数组初始化

  回顾下前面介绍的内容,PHP有两种数组:索引数组、关联数组。

  索引和关联两个词都是针对数组的键而言的。

  关联数组是指数组的键是字符串的数组。

关联数组赋值

   关联数组赋值有两种方式:

  第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,关联数组中,中括号内的键一定是字符串。 

 第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,关联数组中,键一定是字符串。 

访问关联数组内容

  用数组变量的名字后跟中括号+键的方式来访问数组中的值,键使用单引号或者双引号括起来。

  比如:

1 $fruit = array(‘apple‘=>"苹果",‘banana‘=>"香蕉",‘pineapple‘=>"菠萝");
2
3 $fruit0 = $fruit[‘banana‘];
4
5 print_r($fruit0);

  上面代码的作用:先把一个数组$fruit中键为banana字符串的值取出来然后赋给一个另一个变量$fruit0,最后输出变量值。

foreach循环访问关联数组里的值

  foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问关联数组里的值。

1 $fruit=array(‘apple‘=>"苹果",‘banana‘=>"香蕉",‘pineapple‘=>"菠萝");
2 foreach($fruit as $k=>$v){
3     echo ‘<br>水果的英文键名:‘.$k.‘,对应的值是:‘.$v;
4 }

上一篇:PHP读书笔记(5)-结构语句

下一篇:PHP读书笔记(7)- 函数

时间: 2024-10-14 20:08:01

PHP读书笔记(6)- 数组的相关文章

《C++primer》v5 第3章 字符串、向量和数组 读书笔记 习题答案

3.1略 3.2 string str; //读行 while(getline(cin,str)) cout<<str<<endl; //读单个词 while(cin>>str) cout<<str<<endl; 3.3 输入运算符读到空白符结束 getline读到换行符结束,并丢弃换行符 3.4 比较大小. 比较大小是比较的第一个不相同的字符的大小. int main() { string a,b; cin>>a>>b;

《C++ Primer 4th》读书笔记 第4章-数组和指针

原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3911573.html <C++ Primer 4th>读书笔记 第4章-数组和指针

R读书笔记一:变量,向量,数组,矩阵,数据框,读写文件,控制流

R读书笔记一:变量,向量,数组,矩阵,数据框,读写文件,控制流 1.创建向量和矩阵 函数c( ), length( ), mode( ), rbind( ), cbind( ) 1)创建向量,求向量长度,向量类型. > x1=c(2,4,6,8,0) > x2=c(1,3,5,7,9) > length(x1) [1] 5 > mode(x1) [1] "numeric" > x1 [1] 2 4 6 8 0 > x1[3] [1] 6 > a

《C#图解教程》读书笔记之三:方法

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头-指定方法的特征,方法体-可执行代码的语句序列: (2)方法的调用:参数.值参数.引用参数.输出参数.参数数组: ①参数: 形参-本地变量,声明在参数列表中:形参的值在代码开始之前被初始化: 实参-实参的值用于初始化形参: ②值参数: 为形参在栈上分配内存,将实参的值复制到形参: ③引用参数: 不为形参在栈上分配内存,形参的参数名作为实参变量的别名指向同一位置,必须使用ref关

Javascript读书笔记:函数定义和函数调用

定义函数 使用function关键字来定义函数,分为两种形式: 声明式函数定义: function add(m,n) { alert(m+n); } 这种方式等同于构造一个Function类的实例的方式: var add = new Function("m", "n", "alert(m+n);"); Function类构造方法的最后一个参数为函数体:"alert(m+n);",前面的都是函数的形参,参数必须是字符串形式的:&

【转】《windows核心编程》读书笔记

这篇笔记是我在读<Windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和Windows实际机制可能有出入,但应该是合理的.开头几章由于我追求简洁,往往是很多单独的字句,后面的内容更为连贯. 海量细节. 第1章    错误处理 1.         GetLastError返回的是最后的错误码,即更早的错误码可能被覆盖. 2.         GetLastError可能用于描述成功的原因(CreatEvent)

Linux内核架构读书笔记 - 2.5.2 数据结构

调度系统各个组建关系如下 激活调度器两种方法:进程睡眠或其他原因放弃CPU,周期性检测 上述两个组件统称为通用调度器或核心调度器. 调度器用于判断接下来运行那个进程,内核支持不同的调度策略( 完全公平调度 实时调度 无事可做的空闲调度进程) 调度器被调用时候 需要执行体系相关的进程上下文切换 每个进程属于某个调度器类,各个调度器负责管理所属进程,通用调度器不涉及进程管理,都由调度器来 下面分别讲述: task_struct 成员 sched.h 1 struct task_struct { 2

java内存区域——深入理解JVM读书笔记

本内容由<深入理解java虚拟机>的部分读书笔记整理而成,本读者计划连载. 通过如下图和文字介绍来了解几个运行时数据区的概念. 方法区:它是各个线程共享的区域,用于内存已被VM加载的类信息.常量.静态变量.即时编译器编译的代码等数据.JVM规范对这个区域的限制很宽松,如同堆一样不需要连续的内存.可选择固定大小.可扩展的大小外,还可以选择不实现垃圾收集.因为在些区域的垃圾收集必要性不高且效果较差.如果回收也是常量池的回收和类型的卸载,但此操作异常困难.当方法区无法满足内存的分配时,抛OutOfM

数据结构与算法(刺猬书)读书笔记----目录

最近在抓底层的语言基础,以前对数据结构和算法并没有太大感觉,但越往深处学就越觉得这些基础真的是要牢牢掌握住.一个简简单单的数组,深究起来都有很多学问.所以打算写个一系列的读书笔记,好好梳理一下这一块的基础知识.这本书是<数据结构预算法JavaScript描述>,是基于JavaScript的.里面大致介绍了数组.列表.栈.队列.链表.散列.集合及各种常见基础算法.作为基础读物算是很全面的.这系列读书笔记也将会跟着书里的顺序一章章的进行梳理.整个过程计划耗时2-3个月,每周更新一到两张,更新的笔记