Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:可能老师上课介绍的函数使用场景, 有点接近生产环境了, 大家理解起来有点难, 下次会注意
4月24日作业:
队进出:
array_unshift+pop
array_push+shift
栈进出
array_push +array_pop
arrar_unshift+array_shift
1.array_key_exists 是否存在指定键名:
$number=['name'=>'adword','age'=>40];
if (array_key_exists('name',$number))
{
echo '名字存在';
}
else{
echo '名字不存在';
};
$number=['name'=>'adword','age'=>40];
//返回age
echo array_key_last($number);
3.array_search 搜索数组中某个值,返回该值键名
$number=['name'=>'adword','age'=>40];
//搜索40,返回age
echo array_search(40,$number);
4.array_merge 合并两个数组
$suv=['X5','xc90','gle','Q7'];
$car=[530,'A6','E300'];
$che= array_merge($suv,$car);
echo '<br>';
printf('<pre>%s</pre><hr>', print_r($che, true));
5 array_chunk 把一个数组变成数组块
//把一个数组变成每个值带有两个元素的二维数组,'preserve_key'加入是为了让新数组拥有原来数组相同的键
$che=['X5','xc90','gle','Q7',530,'A6','E300'];
$che1=array_chunk($che,2,'preserve_key');
printf('<pre>%s</pre><hr>', print_r($che1, true));
6.extract 把数组里面的键变成变量名,值变成变量值,如果变量名和原有变量名有冲突,默认是覆盖原来的变量。
//打印的结果是:$a = x5; $b = c90; $c = Q7
$a = "cheche";
$my_array = array("a" => "x5","b" => "c90", "c" => "Q7");
$mycar=extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
7.compact 将几个变量名值对拼装程一个关联数组键值对
$BMW='X5';
$VOLOVO='C90';
$BENS='ML300';
$MYCAR=compact('BMW','VOLOVO','BENS');
printf('<pre>%s</pre><hr>', print_r($MYCAR, true));
8.list 将数组中的值赋予一组变量
echo '<br>';
$my_cars=["x5", "c90", "Q7"];
list($a,$b,$c)=$my_cars;
echo $a,$b,$c;
echo '<br>';
$arr =['Hello','World!','I','love','beijing!'];
echo implode(" ",$arr);
10.enplode 函数把字符串打散为数组。
echo '<br>';
$aaa = "Hello world. I love beijing!";
$b=explode(" ",$aaa);
printf('<pre>%s</pre><hr>', print_r($b, true));
1.array_filter 用回调过滤数组中的单元,返回计算结果为true的元素组成的数组
$arr = [666, 'BMW',true,[7,8,9], (MYCAR class {}), [], null, false, '', 0, ];
// php自动转为false的值: null, false, 空数组, 空字符串, 0, '0'
// 提示: 空对象不能转为false, 但是空数组是false
$res = array_filter($arr,function($item){
return $item;
});
$res = array_filter($arr);
printf('<pre>%s</pre><hr>', print_r($res, true));
2.array_map
function mynumber($a)
{
return($a*=3);
}
$b=[1,2,3,4,5];
$c=array_map("mynumber",$b);
printf('<pre>%s</pre><hr>', print_r($c, true));
3.array_reduce 用户自定义函数发送数组中的值,并返回一个字符串
function myfunction($v1,$v2)
{
return $v1+$v2;
}
$a=[array(]10,15,20,50];
print_r(array_reduce($a,"myfunction",5));
4.array_walk
function mycar($value,$key)
{
echo "My $key has the color $value<br>";
}
$a=array("BMW"=>"red","Benz"=>"blank","volvo"=>"blue");
array_walk($a,"mycar");
1.array_slice() 从某个点开始截取一个数组。
$aaaa=['BMW','BENZ','VOLVO','AUDI'];
$car=print_r(array_slice($aaaa,1));
print_r($car, true);
2.array_splice() 自己理解的是把一个数组插入另一个数组。
$a1=array("0"=>"BMW","1"=>"BENZ");
$a2=array("0"=>"VOLVO","1"=>"AUDI");
array_splice($a1,0,0,$a2);
print_r($a1);
感想:周末参照着周五老师讲课的视频,一点一点的了解函数,然后再自己写,老师写的回调函数案例,我还是有点晕,还是不太容易懂,自己写了几个简单的。自己写的简单的懂。另外,这个实际如果用到项目中,估计真成天书了。多温习!真挺绕的。感觉有可能脱发了。