PHP新手之学习数组声明
数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。下面介绍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新手之学习数组声明的更多相关文章
- Java 数组声明与初始化
引言 学习了好久的java,每次要写数组的声明和初始化代码,总是理不清.最近又碰到了一次这种情况.这次拿出<Thinking In Java>好好总结一翻. 数组声明 对于数组的声明其实都 ...
- 新手如何学习java(java学习建议路线图)
怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA). ...
- c++学习-数组
int a[10]; //是个元素,在windows下回报错,linux会输出一个随机数 int a[10]={1,2}; //初始化,其他的为0 数组越界: 为了调高效率, 编译器不会对数组越界做检 ...
- Scala学习——数组/映射/元组
[<快学Scala>笔记] 数组 / 映射 / 元组 一.数组 1.定长数组 声明数组的两种形式: 声明指定长度的数组 val 数组名= new Array[类型](数组长度) 提供数组初 ...
- php数组声明、遍历、数组全局变量使用小结
数组的本质:管理和操作一组变量,成批处理,下面为大家介绍下数组的分类.数组的分类及使用说明,感兴趣的朋友可以了解下哈 php教程:数组声明,遍历,数组全局变量 <? /* * 一.数组的概 ...
- 新手如何学习Java——Java学习路线图
推荐初学者阅读:新手如何学习Java——Java学习路线图
- Java数组声明与拷贝的几种方式
Java数组声明的三种方式 第一种(声明并初始化): 数据类型[] 数组名={值,值,...}; 例:int[] a = {1,2,3,4,5,6,7,8}; ...
- 处理函数和数组声明[条款17]---《C++必知必会》
指向函数的指针声明和指向数组的指针声明容易混淆,原因在于函数和数组修饰符的优先级比指针修饰符的优先级高,因此通常需要使用圆括号. int *f1( );//一个返回值为 int* 的函数 int ( ...
- 第27天:js-表单获取焦点和数组声明遍历
一.表单 1.this指事件的调用者2.input.value 表单更换内容3.innerHTML更换盒子里的内容,文字.标签都能换.4.isNaN("12")如果里面的不是个数字 ...
随机推荐
- 关于MyEclipse不停报错multiple problems have occurred 或者是内存不足 的解决办法
这是因为 worksapace与svn代码不一样,要更新! 一更新就好了,困扰死我了,卧槽,搞了2个小时,难怪svn一提交就卡死人,原来还就是svn的问题,更新一下就行.
- php通过token验证表单重复提交
PHP防止重复提交表单 2016-11-08 轻松学PHP 我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后 ...
- Spring+Struts集成(方案一)
SSH框架是现在非常流行的框架之一,本文接下来主要来对Spring和Struts的集成进行展示. 集成原理:在Action中取得BeanFactory,通过BeanFactory取得业务逻辑对象. 集 ...
- win8 explorer 进程频繁奔溃的原因及处理
最近 , win8 系统中的 explorer 进程总是频繁奔溃 , 想想可能是最近新装或更新了什么软件引起的 . 查看了记录奔溃的详细信息 , 果不其然 , 是最近更新的快播新版本 ...
- Codevs 5590 A+B 问题 超级版
5590 A+B 问题 超级版 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 青铜 Bronze 题目描述 Description 不用+-*/%计算A+B 输入描述 Input De ...
- python标准库-日志logging
1.模块级别 先看一下logging模块的日志级别特点,共分6个等级. 可以手工设置当前日志的默认等级(warn),当日志输出的等级高于默认等级时,日志输出到屏幕,否则不输出. #!/usr/bin/ ...
- postgres 数据库命令行客户端psql的使用命令总结
1.切换到 postgres 用户: 2.输入: psql , 进入到postgresql的客户端psql: 3.\l 查看当前所有的数据库: 4.psql database1 ...
- Unity3D中的函数方法及解释
一.刷新函数 Update 当MonoBehaviour启用时,其Update在每一帧被调用. LateUpdate 当Behaviour启用时,其LateUpdate在每一帧被调用. FixedUp ...
- iOS 简易环形进度条
demo下载地址:https://github.com/haozheMa/LoopProgressDemo/tree/master ViewController中的代码 #import "V ...
- Linux 环境编译安装mysql (源码安装包)
标注: Linux需要先配置网络yum源,确定yum能在线安装软件包,方便测试过程中安装部分依赖包.配置163网易提示的网络yum源参考博客 http://www.cnblogs.com/zoulo ...