可以使用单个变量名存储多个不同类型的数据的特殊变量,这就是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 \>";}?>