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")如果里面的不是个数字 ...
随机推荐
- 转 oracle 开发 第03章 sqlplus
目录 1.查看表结构 desc 2.编辑SQL语句 append.list.change.run 3.保存.检索并运行文件 save.get.start.edit.spool 4.格式化列 colum ...
- Jfreet 自动删除生成的图片
jfreechart有自动删除的啊,会话失效就会自动删除的,我刚测试了啊,在web.xml里注册 <listener> <listener-class>org.jfree.ch ...
- CGAffineTransform 放射变换解析 即矩阵变换
转载自;http://www.cocoachina.com/bbs/3g/read.php?tid=151136 矩阵乘法A B相乘要A的列数等于B的行数才有定义,结果是一个 A行B列的矩阵C,C的每 ...
- vmware中网络连接方式介绍
- git 与 github基本使用
这里只对git 与 github的基本使用介绍,对于简单的步骤不做详细的说明,可以在网上搜索 一.git与github的安装与链接 1.git 安装:百度搜索"git",下载安装即 ...
- [算法] trie树实现
小写字母的字典树 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXN 1 ...
- tempnam问题
tempnam()函数创建一个具有唯一文件名的临时文件 若成功,则返回新的临时文件名,若失败,则返回false 失败原因 c:\windows\temp文件夹不具备读写权限(即 不是超级管理员)
- package。。
如果在源代码内没有加上 package ... 是无法以下面的方式访问到主类的. D:\lab_>java timer.LambdaTest 加载时会返回 "错误: 找不到或无法加载主 ...
- logback配置
好吧,项目中一直使用的是logback做日志记录. 开始跑Demo的时候,一直会报Failed to load class org.slf4j.impl.StaticLogger的错误.后来googl ...
- Linux建立信任主机
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.先在本机上面装一个sshpass 的安装包 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.ssh-ke ...