数组定义
数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西。
如果你去某个酒店住店,服务员会告诉你房间号是多少,具体房间里有存储了什么,那就需要根据房间号进到房间里才知道了。
下面的图能更清晰的说明啥是数组。
知道数组后,是不是就很希望创建自己的数组了呢?
$arr = array();
表示创建一个空数组,并把创建的空数组赋值给变量$arr。
索引数组初始化
PHP有两种数组:索引数组、关联数组。
索引和关联两个词都是针对数组的键而言的。
先介绍下索引数组,索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。
下面使用图来说明一下:
可以使用下面代码实现:
$fruit = array("苹果","香蕉","菠萝");
注意数组的键是从0开始的。可以使用print_r($fruit);
语句输出数组键及对应的值。
索引数组赋值
索引数组赋值有三种方式:
第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,索引数组中,中括号内的键一定是整数。比如,$arr[0]='苹果';
第二种:用array()
创建一个空数组,使用=>
符号来分隔键和值,左侧表示键,右侧表示值。当然,索引数组中,键一定是整数。比如,array('0'=>'苹果');
第三种:用array()
创建一个空数组,直接在数组里用英文的单引号'
或者英文的双引号"
赋值,数组会默认建立从0开始的整数的键。比如array('苹果');
这个数组相当于array('0'=>'苹果');
访问索引数组内容
有的时候我们需要把数组中的内容也就是值取出来该怎么办呢?用数组变量的名字后跟的中括号中的键,来访问数组中的值。
例如:
1 2 3 |
$fruit = array('苹果','香蕉'); $fruit0 = $fruit['0']; print_r($fruit0);//结果为苹果 |
上面代码的作用:先把一个数组$fruit第一个值取出来然后赋给一个变量$fruit0,最后输出变量值。
for循环访问索引数组里的值
for循环可以将数组里的所有值都访问到,下面我们展示下,用for循环访问索引数组里的值。
例如:
1 2 3 4 5 6 7 |
$fruit=array('苹果','香蕉','菠萝'); for($i=0; $i<3; $i++){ echo '<br>数组第'.$i.'值是:'.$fruit[$i]; } |
foreach循环访问索引数组里的值
foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问索引数组里的值。
例如:
1 2 3 4 |
$fruit=array('苹果','香蕉','菠萝'); foreach($fruit as $k=>$v){ echo '<br>第'.$k.'值是:'.$v; } |
关联数组初始化
回顾下前面介绍的内容,PHP有两种数组:索引数组、关联数组。
索引和关联两个词都是针对数组的键而言的。
先介绍下,关联数组是指数组的键是字符串的数组。
可以使用下面代码实现:
1 2 3 4 5 6 7 8 9 |
$fruit = array( 'apple'=>"苹果", 'banana'=>"香蕉", 'pineapple'=>"菠萝" ); |
可以使用print_r($fruit);
语句输出数组键及对应的值。
关联数组赋值
关联数组赋值有两种方式:
第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,关联数组中,中括号内的键一定是字符串。比如,$arr['apple']='苹果';
第二种:用array()
创建一个空数组,使用=>
符号来分隔键和值,左侧表示键,右侧表示值。当然,关联数组中,键一定是字符串。比如,array('apple'=>'苹果');
访问关联数组内容
用数组变量的名字后跟中括号+键的方式来访问数组中的值,键使用的单引号或者双引号括起来。
比如:
1 2 3 4 5 |
$fruit = array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝"); $fruit0 = <strong>$fruit['banana']</strong>; print_r($fruit0); |
上面代码的作用:先把一个数组$fruit中键为banana字符串的值取出来然后赋给一个另一个变量$fruit0,最后输出变量值。
foreach循环访问关联数组里的值
foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问关联数组里的值。
例如:
1 2 3 4 |
$fruit=array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝"); foreach($fruit as $k=>$v){ echo '<br>水果的英文键名:'.$k.',对应的值是:'.$v; } |