可以使用单个变量名存储多个不同类型的数据的特殊变量,这就是php数组。

php数组就是一个特殊的变量,它允许存储多个任意类型的数据。

php数组有两种类型,分为索引数组和关联数组。

索引数组:变量的“编号”是数,整数不具备一定的语义。

关联数组:变量的"编号”用字符中表示,可以具备一定的语义。

键:key,存储数组中,是变量的“编号”,索引数组的编号默认从0开始。

值:value,存储数组中,变量的值,由用户自定义创建。

php数组可以储存任意类型的数据,php会自动识别。

键key就是数组中元素的编号,值value是元素的数值。

索引数组和关联数组的不同在于键的不同,索引数组的键是数字,关联数组的键可以用字符,具备一定的含义。

下面代码中单引号和双引号都代表字符型,如布尔型数值true无单引号会输出1来代表男,有单引号会输出true。

var_dump代表输出数据类型和数值。

索引数组的创建:

创建一个索引数组,存储xiu用户的姓名,性别,年龄和成绩,并输出

<?php

$name="xiu";
$sex=true;
$age= 18;
$score= 99.9;
$stu1[]=$name;
$stu1[]=$sex;
$stu1[]=$age;
$stu1[]=$score;

var_dump($stu1);
?>

或:

用array创建一个包含xiu的姓名,性别,年龄和成绩的索引数组,无[]即无键,会默认从0分配数字作为键,非array创建时必须写[],负责会作为变量覆盖

<?php
$stu1=array("xiu",true,18,99.9);
var_dump($stu1);
?>

关联数组的创建:

创建一个关联数组,存储xiu用户的姓名,性别,年龄和成绩,并输出

<?php

$stu1['name']="xiu";
$stu1['sex']=true;
$stu1['age']=18;
$stu1['score'] = 99.9;

var_dump($stu1);
?>

或:

array创建一个关联数组,存储xiu用户的姓名,性别,年龄和成绩,并输出

<?php
$stu1=array("name"=>"xiu","sex"=>true,"age"=>"18","score"=>"99.9");
print_r($stu1);
?>

或:

<?php
$stu1 = array(
'name' => 'xiu',
'sex' => true,
'age' => 24,
'score' => 99.9
);
print_r($stu1);
?>

print_r与echo类似,不同的是,在输出布尔类型true的时候是1,false为空。

for循环打印数组数据

由于print_r和echo都不能只输出php数组中的数据,所以需要for循环来打印数组数据,需要注意的是,简单的for循环只能打印键为数字的数组,也就是索引数组,如果要打印键为字符的数组数据,需要更复杂的循环。

<?php
$stu1=array("xiu",true,18,99.9);
for($i=0;$i<4;$i++){
echo $stu1[$i];
echo "<br \>";
}
?>