Correcting teacher:Guanhui
Correction status:qualified
Teacher's comments:写的挺好,数组指针要根据场景合理使用。
0710-作业
1.索引数组
: 位置敏感,严重依赖元素在数组中的位置;键是数值的索引,表示元素的位置;索引数组以追加的方式添加
;默认从0开始
递增
2.关联数组
:键的类型是字符串,访问与元素在数组中的位置无关,只与它的键名相关
<?php
//1.索引数组
//定义:
$day=["星期一","星期二","星期三","星期四","星期五"];
//系统自动按顺序添加序号,等同与 $day=[0=>"星期一",1=>"星期二",2=>"星期三",3=>"星期四",4=>"星期五"]
//按索引访问:索引号如果是小数,是取整,忽略小数部分
echo $day[1]; //输出星期二
echo '<hr>';
// 2.关联数组:与位置无关
$day=["mon"=>"星期一","tue"=>"星期二","wed"=>"星期三","Thur"=>"星期四","fri"=>"星期五"];
//按关联键访问,键的类型是字符串,键是值的索引,用语义化的表示
echo $day["fri"];
//输出星期五
echo '<hr>';
// 创建数组
// 1.索引数组,以追加的方式添加
$day = [];
$day[] = '星期一';
$day[] = '星期er';
$day[] = '星期3';
printf('<pre>%s</pre>', print_r($day, true));
echo '<hr>';
// 2.关联数组
$date['mon'] = '星期一';
$date['sat'] = '星期六';
$date['sun'] = '星期日';
printf('<pre>%s</pre>', print_r($date, true));
// 3.多维数组,二维用的最多
$course = [
0=>['id' => 1, 'wuwen' => '语文', 'time' => 50],
1=>['id' => 2, 'math' => '数学', 'time' => 60],
2=>['id' => 3, 'phy' => '物理', 'time' => 70],
];
// 获取数学的方式:
printf('<pre>%s</pre>', print_r($course[1]['math'], true));
数组指针
,逐个遍历current()
:获取当前位置的数组元素的值value
key()
:获取当前数组元素的key
next()
:访问完成之后,指针手工后移
prev()
:指针前移
end()
直接取最后一个元素
reset()
指针复位,回到第一个
<?php
//指针遍历
$course = ['id' => '01', 'name' => '王老师', 'age' => 23, 'course' => '数学', 'class' => "三年五班"];
// key()取键和current()取值
printf('[\'%s\']=>%s<br>', key($course), current($course));
// 访问完成之后,指针手工后移
next($course);
printf('[\'%s\']=>%s<br>', key($course), current($course));
next($course);
// prev():指针前移
// prev($course);
printf('[\'%s\']=>%s<br>', key($course), current($course));
// end()直接访问最后一个
end($course);
printf('[\'%s\']=>%s<br>', key($course), current($course));
// reset()指针复位,回到第一个
reset($course);
printf('[\'%s\']=>%s<hr>', key($course), current($course));
while
、for
方式循环遍历
//1.用while循环
reset($course);
while(true){
printf('[\'%s\']=>%s<hr>', key($course), current($course));
if (next($course)) continue;
else break;
}
// 2.用for循环来实现遍历关联数组
reset($course);
for ($i = 0; $i < count($course); $i++) {
printf('[\'%s\']=>%s<br>', key($course), current($course));
next($course);
}
foreach循环
(php重点掌握)
<?php
//foreach,遍历
$course = ['id' => '01', 'name' => '王老师', 'age' => 23, 'course' => ['数学','英语','物理'], 'class' => "三年五班"];
foreach($course as $k => $val){
echo is_array($val)?print_r($val,true):$val,'<br>';
}
<?php
//foreach遍历二维数组
<?php
$course = [
0=>['id' => 1, 'wuwen' => '语文', 'time' => 50],
1=>['id' => 2, 'math' => '数学', 'time' => 60],
2=>['id' => 3, 'phy' => '物理', 'time' => 70],
];
foreach($course as $cor){
vprintf('id=%d,课程=%s,课时:%s<br>',$cor);
}
list()
:解析/解构索引数组和关联数组
<?php
$course = [
['id' => 1, 'class' => '语文', 'time' => 50],
['id' => 2, 'class' => '数学', 'time' => 60],
['id' => 3, 'class' => '物理', 'time' => 70],
];
foreach($course as list('id'=>$id,'class'=>$class,'time'=>$time)){
printf('id=%d,课程=%s,课时:%s<br>',$id,$class,$time);
}
<?php
$img = base64_encode(file_get_contents('girl.jpg'));
echo $img;
echo "<img src=\"data:image/jpeg;base64,{$img}\" width=\"500\">";
md5()md5加密返回一个32位的16进制字符串
sha1()哈希加密返回一个40位的16进制字符串
md5_file()监测文件是否修改,只要文件更新了,他的值就会改变