数组的定义和遍历

拓展
常用函数
//生成随机数
echo rand(1,10);//范围在1-10之间

//日期时间函数
var_dump(time());//取当前时间的UNIX时间戳,是一串数字

date("Y-m-d h:i:s",time());//格式化日期时间戳
date("Y-m-d h:i:s D");//省略time(),获取当前时间有一个默认值,D英文显示星期

//数组
//C#中数组是连续的
//1.没有集合概念,
特点:可以存储任意类型的数据,可以不连续,可以是索引的,也可以是关联的;

定义数组
定义数组 方式一
$attr=array(1,2,3);//定义一个简单的索引数组

定义数组 方式二
$attr[]=1;
$attr[]=2;

var_dump($attr);

定义数组 方式三

$attr = array("one"=>"hello",
"two"=>100,
"three"=>10.9);
var_dump($attr);

//定义一个关联数组

$attr = array(
"hello",
"2"=>"222",
"world"
);
var_dump($attr);
//查看索引值,空的自动添加,小数当做字符串如果 key=0,第一个值会覆盖,保

证索引不重复

//数组取值
$attr=array(
"hello",
"world",
100,
10.3
);
echo $attr [0];//根据索引取值
echo $attr["three"];//根据key取value值

遍历数组
1.for 循环,适用于索引数组,无法使用连接数组

for ($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}
//拼接起来

2.foreach遍历,适用于所有数组
foreach($attr as $v)
{
echo $v."<br>";

}
foreach($attr as $k=>$v)//第二种形式
{
echo $k."--".$v."<br>";
或者 echo "{$k}--{$v}<br>"
}

3.使用each()和list()结合遍历
var_dump(each($attr));//返回数组里面的当前元素上的详细内容
var_dump(each($attr));
var_dump(each($attr));

特殊的一种
$attr=array(1,2,3);//将右侧数组里的每个元素分别赋值给list()参数列表,注

意,右侧数组必须包含索引
list($a,$b,$c)=$attr;
echo $a;
echo $b;
echo $c;

while(list($k,$v)=each($attr));//赋值语句,执行失败返回一个falue

{
echo "{$k}--{$v}<br>";
}

4.指针遍历
$attr=array(

"one"=>"aaaa",
"two"=>"bbbb",
"three"=>"cccc"
);
echo current($attr);//取当前元素的value值

echo key($attr);//取当前元素的key

next($attr);//将数组里面的指针向下移
prev($attr);//将指针向上移
end($attr);//将指针指向最后一个
reset($attr);//将指针指向第一个,复位
echo current($attr);

结合起来使用,将所有元素遍历出来
do
{
echo current($attr)."<br>"
}
while(next($attr));
//使用do...while循环

时间: 2024-10-10 10:24:06

数组的定义和遍历的相关文章

php基础:数组的定义和遍历

//数组定义:数组数一种复合数据,要用PRINT_R来打印,可以装下多个值,每个值用不同的键来区分,(键与值要相互对应),键=>箱子上的编号,值=>箱子里面的内容  如:$a = array(a=>'zhansan',b=>'lisi',c=>'wanglu'); print_r($a); //数组单元的增 删 改 查$a = array(1=>'php',2=>'html',3=>'css',4=>'mysql',5=>array('a'=&g

PHP数组的定义和遍历

//常用函数//生成随机数//echo rand(3,33); //两个参数来确定随机数的范围为3-33 //日期时间函数echo time(); //取当前时间的UNIX时间戳//date_default_timezone_set('PRC');//更改系统时间戳的时区(方法一)//方法二,直接从PHP中的php.ini文件中找到date.timezone,将等号后面的内容更改为Etc/GMT-8//echo date("Y-m-d H:i:s",time());//格式化日期时间戳

&lt;27&gt;【理解】02-结构体数组概念及定义+【掌握】03-结构数组的初始化和遍历

[理解]02-结构体数组概念及定义 结构体数组: 用来存放大量的结构体相同的结构体变量 结构体数组定义: 结构体数组定义的第一种方式: 1)定义结构体的同时,定义数组 struct Student{ int age; char *name; int s_no; float score; }stu[5]; 结构体数组定义的第二种方式 2)先定义结构体,后定义数组 struct Student boy[5]; #include <stdio.h> int main(int argc, const

Java数组的定义,声明,初始化和遍历

数组的定义 数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们.数组的三个基本特点: 1. 长度是确定的.数组一旦被创建,它的大小就是不可以改变的. 2. 其元素必须是相同类型,不允许出现混合类型. 3. 数组类型可以是任何数据类型,包括基本类型和引用类型. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量.数组本身就是对象,Java中对象是在堆中

&lt;24&gt;【掌握】二维数组指针定义、初始化+

[掌握]二维数组指针定义.初始化 数组指针: 定义一个指针变量,让这个指针变量指向一维数组的元素 二维数组指针 行指针,用来指向二维数组的每一行,存放的是行的首地址 定义格式: 数据类型 (*行指针变量名)[数组第二维的长度]; 二维数组指针的初始化 int a[2][3]; int b[2][2]; float f1[4][4]; //假设我要定义一个指向数组a的一个行指针 // a = &a[0] = &a[0][0] = a[0] int (*p)[3] = a; 二维数组指针的使用

第九课,T语言数组的定义与访问(版本5.0)

数组的定义与访问 数组是一系列数据的集合,可以存储大量数据,通过数组的下标.key,可以实现对数据的快速访问. 为什么要使用数组呢? 如果您有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的 var cars1 = "宝马" var cars1 = "卡宴" var cars1 = "奥迪" 不过,假如您希望对变量进行遍历并找出特定的那个值?或者如果您需要存储300个汽车品牌,而不是3个呢? 解决方法是他用数组存储! 数组能

C二维数组用指针地址遍历

#include <stdio.h> #include <stdlib.h> int main(){ int a = 100; void *p = &a; printf("a:%d address:%p\n",*(int*)p, &a); //unsigned int *pt = (unsigned int*)0xbfa70ee8; int *pt = (int*)malloc(sizeof(int)); *pt = 200; printf(&q

数组的声明和遍历

数组是指一组数据的集合,数组中的每一个数据被称作元素.在数组中可以存放任何类型的数据,但同一个数组里存放的元素类型必须一样. 数组:数组元素可以通过索引下标来读取或者修改元素数据,索引从0开始以此类推.数组初始化以后,大小不能更改. 声明数组的语法格式:var 变量名 [数组长度]数据类型这是一维数组的定义方式,数组长度必须是整数且大于0,未初始化的数组不是nil,也就是说没有空数组(与切片不同)没有初始化的数组,int类型的默认是0,string类型的默认是" "空格,所以不会出现j

shell中数组的定义与操作

前言: 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组. 数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念).那么shell中数组是怎么定义的呢,我们来看两种数据类型:一是数值类型,二是字符串类型:虽然shell本身是弱类型的,但也可以这么区分.