爱站网自媒体,常州集团网站建设,网站开发常去的论坛,泸州市住房与城乡建设局网站数组
练习在最后
数组概述
概述与定义 数组中存储键值对 数组实际上是一个有序映射 key-value#xff0c;可将其当成真正的数组、列表#xff08;向量#xff09;、散列表、字典、集合、栈、队列等 数组中的元素可以是任意类型的数据对象#xff08;可以嵌套数组#…数组
练习在最后
数组概述
概述与定义 数组中存储键值对 数组实际上是一个有序映射 key-value可将其当成真正的数组、列表向量、散列表、字典、集合、栈、队列等 数组中的元素可以是任意类型的数据对象可以嵌套数组 输出数组时不能使用 echo 语句可以使用 print_r() 函数代替 在?php?标签前加pre标签可格式化输出 解决中文乱码问题在页面 头部加标签meta charset utf-8 定义数组array $stu[]?php$name zhangsan;$age 18;$score 59.9;$sex true;$stu[] $name;$stu[] $age;$stu[] $score;$stu[] $sex;print_r($stu);print_r(br /);print_r($stu[1]);print_r(br /);var_dump($stu);?数组特点
键值对key-value键key存储在数组中变量的编号0 开始值value存储在 数组中变量的值数组中的元素可以是任意类型的数据对象复合数据类型非线性一个数组对应多个值
数组分类 索引数组 变量的编号是整数整数不具备一定的语义 关联数组 变量的编号用字符串表示可以具备一定的语义 不指定键名时默认为索引数组 ?php$name zhangsan;$age 18;$score 59.9;$sex true;$stu[name] $name;$stu[age] $age;$stu[score] $score;$stu[sex] $sex;print_r($stu);print_r(br /);print_r($stu[score]);print_r(br /);var_dump($stu);?数组的创建
直接赋值 语法 $变量名称[]数据;
// 创建索引数组
$变量名称[key]数据;
// 创建关联数组创建第二个学生信息 ?php$stu2[name]lisi;$stu2[sex]false;$stu2[age]22;$stu2[score]99.9;echo pre;// pre保持文本格式的预格式化文本标签var_dump($stu2);?array 结构 语法 $变量 array(变量1,变量2,...);
//或
$变量 array(key1 value1,key2 value2,...
)创建第三个学生信息 ?php$stu3 array(wangwu,true,25,0);echo pre;var_dump($stu3);?创建第四个学生信息 ?php$stu4 array(name july,sex true,age 23,score 46
);echo pre;print_r($stu4);?输出 print_r() 与 echo 类似 当输出为 bool 类型的 true 时输出 1 当输出为 bool 类型的 false 时不输出 ?php$test[] false;$test[] true;print_r($test);print_r(br /);var_dump($test);?多维数组
数组中的元素可以是任何类型的数据当数组中的元素为数组时为多维数组
多维数组创建–一个班四个学生为例 一个班四个学生的信息 定义完学生数组再定义班级数组先定义数组内元素的数组 ?php$stu1 array(name zhangsan,sex true,age 23,score 46
);$stu2 array(name lisi,sex false,age 22,score 89
);$stu3 array(name wangwu,sex true,age 26,score 59.9
);$stu4 array(name jucy,sex false,age 19,score 98
);$class array($stu1,$stu2,$stu3,$stu4);echo pre;print_r($class);?数组元素的操作
数组元素的访问 通过 key 找到数组中的 value ?php$stu1 array(name zhangsan,sex true,age 23,score 46
);echo pre;echo zhangsans score is {$stu1[score]};// 引号中的变量要用 {} 括起来
?多维数组的访问 ?php$stu1 array(name zhangsan,sex true,age 23,score 46
);$stu2 array(name lisi,sex false,age 22,score 89
);$stu3 array(name wangwu,sex true,age 26,score 59.9
);$stu4 array(name jucy,sex false,age 19,score 98
);$class array($stu1,$stu2,$stu3,$stu4);echo pre;echo zhangsans score is {$class[0][score]};?元素操作 读取通过 key 捕获数组中的 value 修改、增加直接赋值 删除PHP中删除数组元素意义不大可置之不理 ?php$stu1 array(name zhangsan,sex true,age 23,score 46
);$stu1[score] 60;// 将原成绩 46 修改为 60echo pre;print_r($stu1);?数组的遍历循环
数组中的每个元素都访问一次
for 循环 缺点使用 for 循环遍历数组依赖 key 元素的自然数规律索引数组 索引数组遍历 ?php$stu array(wangwu,true,25,0);echo pre;for($i 0 ; $i count($stu) ; $i){// count($stu) 计算数组长度echo $stu[$i].br /;}?foreach 语句 foreach 语法结构 提供了数组遍历的简单方式 foreach 这种语言结构是专门来遍历数组的foreach 是一种循环不需要额外计时器数组中有多少个元素循环就执行多少次 基本结构 遍历值 foreach($arr as $key){echo $key;
}foreach($arr as $key $value){// 代码块
}?php$stu array(name lisi,sex false,age 22,score 89
);foreach($stu as $key $value){echo $value.br /;}?访问键值对 ?php$stu array(name lisi,sex false,age 22,score 89
);foreach($stu as $key $value){echo $key..$value.br /;}?多维数组遍历 ?php$stu1 array(name zhangsan,sex true,age 23,score 46
);$stu2 array(name lisi,sex false,age 22,score 89
);$stu3 array(name wangwu,sex true,age 26,score 59.9
);$stu4 array(name jucy,sex false,age 19,score 98
);$class array($stu1,$stu2,$stu3,$stu4);echo pre;foreach($class as $k $v){foreach($v as $key $value){// 取 $class 数组的 value内部数组名echo $value.br /;}echo br /;}?注意 foreach 是用来遍历数组的循环语言结构数组中有多少个元素该语言结构就会循环执行几次 foreach 语言结构中临时变量的名字可以变化但是语言结构不能改变 foreach($class as $k $v){}
// 上述代码中 $k 和 $v 中 $后的变量名 可以任意命名
// 但 不可改变
// $class 为要遍历的目标数组练习
将班级内的成员属性以表格形式输出
meta charsetutf-8
pre
?php$stu1 array(name zhangsan,sex 1,age 18,score 99.99) ;$stu2 array(name lisi,sex 0,age 19,score 59.99) ;$stu3 array(name wangwu,sex 1,age 18,score 60) ;$stu4 array(name zhaoliu,sex 1,age 23,score 65) ;$class array($stu1,$stu2,$stu3,$stu4) ;echo table border1;echotr td colspan 4 aligncenter学生信息/td/tr;echo trtd姓名/tdtd性别/tdtd年龄/tdtd成绩/td/tr;foreach($class as $k $v) {// $class 的 $value 值为 class 内的多个 stu数组echo tr;// 循环到每个 student 时建立一行表格foreach($v as $key $value) {echo td;// 循环到每个 stu 的每个属性时建立一个单元格echo $value;echo /td;}echo /tr;
}
echo /table;
?效果