1.数组的定义
数组就是一个键值对组成的语言结构。
$arr = array(); //表示创建一个空数组,并把创建的空数组赋值给变量$arr。
PHP有两种数组:索引数组、关联数组。
索引和关联两个词都是针对数组的键而言的。
2.索引数组
索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。
①索引数组的初始化
<?php
$fruit = array("苹果","香蕉","菠萝"); //创建一个索引数组,索引数组的键是“0”,值是“苹果”。
print_r($fruit); //语句输出数组键及对应的值。
?>
Out:
Array
(
[0] => 苹果
[1] => 香蕉
[2] => 菠萝
)
②索引数组的赋值
索引数组赋值有三种方式:
第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,索引数组中,中括号内的键一定是整数。
比如,$arr[0] = ‘苹果’;第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,索引数组中,键一定是整数。
比如,$arr = array(‘0’=> ‘苹果’);第三种:用array()创建一个空数组,直接在数组里用英文的单引号’或者英文的双引号”赋值,数组会默认建立从0开始的整数的键。
比如$arr = array( “苹果”);这个数组相当于$arr = array(‘0’=> ‘苹果’);
③访问索引数组内容
用数组变量的名字后跟的中括号中的键,来访问数组中的值。
<?php
//从数组变量$arr中,读取键为0的值
$arr = array('苹果','香蕉');
$arr0 = $arr['0'];
if( isset($arr0) ) {print_r($arr0);}
?>
Out:
苹果
isset函数:
检查变量是否被设置,只能用于变量,传递任何其它参数都将造成解析错误。
返回值:
若变量不存在则返回 FALSE;
若变量存在且其值为NULL,也返回 FALSE ;
若变量存在且值不为NULL,则返回 TURE 。
④for/foreach循环访问索引数组里的值
for/foreach循环可以将数组里的所有值都访问到。
1.for循环
<?php
$fruit=array('苹果','香蕉','菠萝');
for($index=0; $index<3; $index++){
echo '<br>数组第'.$index.'值是:'.$fruit[$index];
}
?>
Out:
数组第0值是:苹果
数组第1值是:香蕉
数组第2值是:菠萝
2.foreach循环
<?php
$fruit=array('苹果','香蕉','菠萝');
foreach($fruit as $key=>$value){
echo '<br>第'.$key.'值是:'.$value;
}
?>
Out:
第0值是:苹果
第1值是:香蕉
第2值是:菠萝
3.关联数组
①关联数组初始化
关联数组是指数组的键是字符串的数组。
<?php
$fruit = array(
'apple'=>"苹果",
'banana'=>"香蕉",
'pineapple'=>"菠萝"
);
print_r($fruit); //输出数组键及对应的值
?>
Out:
Array
(
[apple] => 苹果
[banana] => 香蕉
[pineapple] => 菠萝
)
②关联数组赋值
关联数组赋值有两种方式:
第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,关联数组中,中括号内的键一定是字符串。
比如,$arr[‘apple’]=’苹果’;第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,关联数组中,键一定是字符串。
比如,$arr = array(‘apple’ => “苹果”);
③访问关联数组内容
用数组变量的名字后跟中括号+键的方式来访问数组中的值,键使用单引号或者双引号括起来。
<?php
//从数组变量$arr中,读取键为pineapple的值
$arr = array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝");
$arr0 = $arr['apple'];
print_r($arr0);
?>
Out:
苹果
④foreach循环访问关联数组里的值
foreach循环可以将数组里的所有值都访问到。
<?php
$fruit=array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝");
foreach($fruit as $key=>$value){
echo '<br>键是:'.$key.',对应的值是:'.$value;
}
?>
Out:
键是:apple,对应的值是:苹果
键是:banana,对应的值是:香蕉
键是:pineapple,对应的值是:菠萝