PHP数组的定义。
特点:可以存储任意类型的数据,可以不连续,可以是索引的,也可以是关联的
索引:就是常见数组的样式,索引从0开始,0、1、2、3,定义数组时直接往里面扔值, 这个索引它自动生成,所以一般是从0开始的,这样的数组是索引数组。索引是连续的。
关联:就是我们的哈希表集合,在定义的时候,必须给它一个key,一个values它两是关联的,我通过key它对应的values值,是关联的。
key,values可以理解为:??
在存储的时候,不仅仅存一个值,而是存一对,这一对,一个叫它的名字,一个叫它的代号相当于,我根据代号能够取到它的名字,代号是key,名字是values值。
好处:是更加清晰。
没有集合
一、定义数组:
【1】定义的第一种方式:
定义简单的,索引数据
$attr=aarray() //定义数组
()括号里可以写数组的值
$attr =array(1,2,3); //这是,定义简单的,索引数据
定义的数组只写了values值:(1,2,3)
array//关键字
【2】定义的第二种方式:
赋值来定义,没有写索引
$attr[]=1;
$attr[]=2;
Var_dump($attr);
例子:
显示的结果:
【3】第三种方式:
变量是attr
$attr
定义关联数组:
$attr=array(“key”=>” values”);
// =<是对应的values值的意思
例子:
$attr =array(
“one”=>”hello”, //“key”=>” values” 一对一对的写入
“two”=>100, //定义关联的数组
“three”=>10.9
);
Var_dump($attr);
显示结果:
索引 值
关联数组,必须要有key和 values。
如果定义关联数组,不写key,只写values值,自动生成索引数组。
例子:
显示的结果:
如果写一个,后面的不写,会出现什么结果呢??
例子:
显示的结果:
自动填充了。用索引自动填充
这是一个关联的数组
只要里面有key就是关联的
索引,就是从0开始,必须是连续的。
如果其中出现任何一个不是上面的情况,就叫做关联。
显示的结果:
在定义时空了一块,它不会把空的一块填上,它(索引)只根据上面的值,往下加 。
在PHP里,字符串的2 和数字的2是一个效果,它们可以相互转换 "2"=>"22222",
小数会被当做字符串,例子1:
显示的结果:
索引里,没有小数。
显示结果:
索引,是不能重复的。
二、PHP数组的取值。
【1】根据索引来取值:
$attr[0];
例子:
显示的结果:
【2】根据key取value值
关联的数组,来取值。
例子:
显示的结果:
三、PHP 遍历数组。
【1】用for循环,来遍历。适用于索引数组,不适用于关联数组
for($i=0;$i< count(数组名);$i++){ }
//数组的长度,需要一个方法:count(数组名)
例子:
显示结果:
【1】 foreach遍历,都适用
<1>foreach(数组value as 参数变量)
{
}
//Value值交给变量
//取Value值
//参数变量 是随便命名的
例子:
显示结果:
显示的结果:
<2>取key和value值
例子:
显示结果:
字符串来解析变量
显示的结果:
【3】var_dump(each($attr)); // 返回数组里面的当前元素的详细内容
each(一个参数,是一个数组)
例子1:
显示结果:
"one"=>"hello"
each()取到第一个元素,返回数组
保留得值很全面
例子2:
显示的结果:
list($a,$b,$c)=$attr;//将右侧数组里面的每个元素分别赋值list()的
注意:右侧数组必须包含索引0,1,2,3
List()=数组;
例子:
显示的结果:
综合上面的,就是,结合来遍历数组
List($k,$v)=each($attr);
{
echo”{$k}—{$v}<br>”;
}