数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。下面介绍PHP中的数组声明。

一、数组的概述

1.数组的本质:管理和操作一组变量,成批处理

2.数组时复合类型(可以存储多个)

3.数组中可以存储任意长度的数据,也可以存储任意类型的数据

4.数组可以完成其他语言数据结构的功能(链表,队列,栈,集合类)

二、数组的分类

数组中有多个单元,(单元称为元素)

每个元素(下标[键]和值)

单访问元素的时候,都是通过下标(键)来访问元素

1.一维数组,二维数组,三维数组。。。多维数组 (数组的数组,就是在数组中存有其他的数组)

2.PHP中有两种数组

索引数组:就是下标是顺序整数的索引

关联数组:就是下标是字符串作为索引

下标(整数,字符串)只有这两种

三、数组多种声明方式

1.直接为数组元素赋值声明

如果索引下标不给出,就会从0开始顺序索引

如果给出索引下标,下一个就会从最大的开始增1

如果后面出现前面的下标,如果是赋值就是为前面的元素重新赋值

混合声明时,索引和关联不互相影响(不影响索引下标的声明)

2.使用array()函数声明

默认是索引数组,如果为关联数组和索引数组指定下标,使用 键=>值,多个成员之间使用" , "分割

3.使用其他的函数声明

(1)索引数组

$user[0]=1;//用户序号
$user[1]="zhangsan";//用户名
$user[2]=10;//年龄
$user[3]="nan";//性别
echo '<pre>';
print_r($user);
echo '</pre>';

(2)关联数组

<?php
$user["id"] = 1;
$user["name"] = "zhangsan";
$user["age"] = 10;
$user["sex"];
$user["age"] = 90; //赋值
echo $user["name"]; //输出
// 使用array()声明数组
$user = array(1, "zhangsan", 10, "nan");
// 使用array()声明关联数组
$user = array("id" => 1, "name" => "zhangsan", "age" => 10, "sex" => "nan");
// 声明多维数组(多条记录),来保存一个表中的多条用户信息记录
$user = array(
// 用$user[0]调用这一行,比如调用这条记录中的姓名,$user[0][1]
array(1, "zhangsan", 10, "nan"),
// 用$user[1]调用这一行,比如调用这条记录中的姓名,$user[1][1]
array(2, "lisi", 20, "nv")
);
// 数组保存多个表,每个表有多条记录
$info = array(
"user" => array(
array(1, "zhangsan", 10, "nan"),
array(2, "lisi", 20, "nv")
),
"score" => array(
array(1, 90, 80, 70),
array(2, 60, 40, 70)
)
);
echo $info["score"][1][1]; //输出60, ?>

PHP新手之学习数组声明的更多相关文章

  1. Java 数组声明与初始化

    引言 学习了好久的java,每次要写数组的声明和初始化代码,总是理不清.最近又碰到了一次这种情况.这次拿出<Thinking In Java>好好总结一翻. 数组声明 对于数组的声明其实都 ...

  2. 新手如何学习java(java学习建议路线图)

    怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西:     首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA). ...

  3. c++学习-数组

    int a[10]; //是个元素,在windows下回报错,linux会输出一个随机数 int a[10]={1,2}; //初始化,其他的为0 数组越界: 为了调高效率, 编译器不会对数组越界做检 ...

  4. Scala学习——数组/映射/元组

    [<快学Scala>笔记] 数组 / 映射 / 元组 一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初 ...

  5. php数组声明、遍历、数组全局变量使用小结

    数组的本质:管理和操作一组变量,成批处理,下面为大家介绍下数组的分类.数组的分类及使用说明,感兴趣的朋友可以了解下哈   php教程:数组声明,遍历,数组全局变量  <? /* * 一.数组的概 ...

  6. 新手如何学习Java——Java学习路线图

    推荐初学者阅读:新手如何学习Java——Java学习路线图

  7. Java数组声明与拷贝的几种方式

    Java数组声明的三种方式 第一种(声明并初始化):          数据类型[] 数组名={值,值,...};          例:int[] a = {1,2,3,4,5,6,7,8};    ...

  8. 处理函数和数组声明[条款17]---《C++必知必会》

    指向函数的指针声明和指向数组的指针声明容易混淆,原因在于函数和数组修饰符的优先级比指针修饰符的优先级高,因此通常需要使用圆括号. int *f1( );//一个返回值为 int* 的函数 int ( ...

  9. 第27天:js-表单获取焦点和数组声明遍历

    一.表单 1.this指事件的调用者2.input.value 表单更换内容3.innerHTML更换盒子里的内容,文字.标签都能换.4.isNaN("12")如果里面的不是个数字 ...

随机推荐

  1. 转 oracle 开发 第03章 sqlplus

    目录 1.查看表结构 desc 2.编辑SQL语句 append.list.change.run 3.保存.检索并运行文件 save.get.start.edit.spool 4.格式化列 colum ...

  2. Jfreet 自动删除生成的图片

    jfreechart有自动删除的啊,会话失效就会自动删除的,我刚测试了啊,在web.xml里注册 <listener> <listener-class>org.jfree.ch ...

  3. CGAffineTransform 放射变换解析 即矩阵变换

    转载自;http://www.cocoachina.com/bbs/3g/read.php?tid=151136 矩阵乘法A B相乘要A的列数等于B的行数才有定义,结果是一个 A行B列的矩阵C,C的每 ...

  4. vmware中网络连接方式介绍

  5. git 与 github基本使用

    这里只对git 与 github的基本使用介绍,对于简单的步骤不做详细的说明,可以在网上搜索 一.git与github的安装与链接 1.git 安装:百度搜索"git",下载安装即 ...

  6. [算法] trie树实现

    小写字母的字典树 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXN 1 ...

  7. tempnam问题

    tempnam()函数创建一个具有唯一文件名的临时文件 若成功,则返回新的临时文件名,若失败,则返回false 失败原因 c:\windows\temp文件夹不具备读写权限(即 不是超级管理员)

  8. package。。

    如果在源代码内没有加上 package ... 是无法以下面的方式访问到主类的. D:\lab_>java timer.LambdaTest 加载时会返回 "错误: 找不到或无法加载主 ...

  9. logback配置

    好吧,项目中一直使用的是logback做日志记录. 开始跑Demo的时候,一直会报Failed to load class org.slf4j.impl.StaticLogger的错误.后来googl ...

  10. Linux建立信任主机

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.先在本机上面装一个sshpass 的安装包 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.ssh-ke ...