博客列表 >数组常用函数作业和感想

数组常用函数作业和感想

移动用户-5435854
移动用户-5435854原创
2020年04月26日 20:54:59830浏览

4月24日作业:

  1. 从手册中选择10个课堂上未讲的数组函数练习并发布
  2. 将四个数组回调函数自举例演示并发布
  3. 将课堂上讲过的array_slice()与array_splice()实例演示并发布
    尽可能不要再抄课堂案例, 自己尝试写一些

队进出

  1. array_unshift+pop
  2. array_push+shift

栈进出

  1. array_push +array_pop
  2. arrar_unshift+array_shift

从手册中选择10个课堂上未讲的数组函数练习并发布

1.array_key_exists 是否存在指定键名:

  1. $number=['name'=>'adword','age'=>40];
  2. if (array_key_exists('name',$number))
  3. {
  4. echo '名字存在';
  5. }
  6. else{
  7. echo '名字不存在';
  8. };
  1. array_key_last 获取最后一个键名
  1. $number=['name'=>'adword','age'=>40];
  2. //返回age
  3. echo array_key_last($number);

3.array_search 搜索数组中某个值,返回该值键名

  1. $number=['name'=>'adword','age'=>40];
  2. //搜索40,返回age
  3. echo array_search(40,$number);

4.array_merge 合并两个数组

  1. $suv=['X5','xc90','gle','Q7'];
  2. $car=[530,'A6','E300'];
  3. $che= array_merge($suv,$car);
  4. echo '<br>';
  5. printf('<pre>%s</pre><hr>', print_r($che, true));

5 array_chunk 把一个数组变成数组块

  1. //把一个数组变成每个值带有两个元素的二维数组,'preserve_key'加入是为了让新数组拥有原来数组相同的键
  2. $che=['X5','xc90','gle','Q7',530,'A6','E300'];
  3. $che1=array_chunk($che,2,'preserve_key');
  4. printf('<pre>%s</pre><hr>', print_r($che1, true));

6.extract 把数组里面的键变成变量名,值变成变量值,如果变量名和原有变量名有冲突,默认是覆盖原来的变量。

  1. //打印的结果是:$a = x5; $b = c90; $c = Q7
  2. $a = "cheche";
  3. $my_array = array("a" => "x5","b" => "c90", "c" => "Q7");
  4. $mycar=extract($my_array);
  5. echo "\$a = $a; \$b = $b; \$c = $c";

7.compact 将几个变量名值对拼装程一个关联数组键值对

  1. $BMW='X5';
  2. $VOLOVO='C90';
  3. $BENS='ML300';
  4. $MYCAR=compact('BMW','VOLOVO','BENS');
  5. printf('<pre>%s</pre><hr>', print_r($MYCAR, true));

8.list 将数组中的值赋予一组变量

  1. echo '<br>';
  2. $my_cars=["x5", "c90", "Q7"];
  3. list($a,$b,$c)=$my_cars;
  4. echo $a,$b,$c;
  1. implode 将数组里面的值变成字符串
  1. echo '<br>';
  2. $arr =['Hello','World!','I','love','beijing!'];
  3. echo implode(" ",$arr);

10.enplode 函数把字符串打散为数组。

  1. echo '<br>';
  2. $aaa = "Hello world. I love beijing!";
  3. $b=explode(" ",$aaa);
  4. printf('<pre>%s</pre><hr>', print_r($b, true));

将四个数组回调函数自举例演示并发布

1.array_filter 用回调过滤数组中的单元,返回计算结果为true的元素组成的数组

  1. $arr = [666, 'BMW',true,[7,8,9], (MYCAR class {}), [], null, false, '', 0, ];
  2. // php自动转为false的值: null, false, 空数组, 空字符串, 0, '0'
  3. // 提示: 空对象不能转为false, 但是空数组是false
  4. $res = array_filter($arr,function($item){
  5. return $item;
  6. });
  7. $res = array_filter($arr);
  8. printf('<pre>%s</pre><hr>', print_r($res, true));

2.array_map

  1. function mynumber($a)
  2. {
  3. return($a*=3);
  4. }
  5. $b=[1,2,3,4,5];
  6. $c=array_map("mynumber",$b);
  7. printf('<pre>%s</pre><hr>', print_r($c, true));

3.array_reduce 用户自定义函数发送数组中的值,并返回一个字符串

  1. function myfunction($v1,$v2)
  2. {
  3. return $v1+$v2;
  4. }
  5. $a=[array(]10,15,20,50];
  6. print_r(array_reduce($a,"myfunction",5));

4.array_walk

  1. function mycar($value,$key)
  2. {
  3. echo "My $key has the color $value<br>";
  4. }
  5. $a=array("BMW"=>"red","Benz"=>"blank","volvo"=>"blue");
  6. array_walk($a,"mycar");

3. 将课堂上讲过的array_slice()与array_splice()实例演示并发布尽可能不要再抄课堂案例, 自己尝试写一些

1.array_slice() 从某个点开始截取一个数组。

  1. $aaaa=['BMW','BENZ','VOLVO','AUDI'];
  2. $car=print_r(array_slice($aaaa,1));
  3. print_r($car, true);

2.array_splice() 自己理解的是把一个数组插入另一个数组。

  1. $a1=array("0"=>"BMW","1"=>"BENZ");
  2. $a2=array("0"=>"VOLVO","1"=>"AUDI");
  3. array_splice($a1,0,0,$a2);
  4. print_r($a1);

感想:周末参照着周五老师讲课的视频,一点一点的了解函数,然后再自己写,老师写的回调函数案例,我还是有点晕,还是不太容易懂,自己写了几个简单的。自己写的简单的懂。另外,这个实际如果用到项目中,估计真成天书了。多温习!真挺绕的。感觉有可能脱发了。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议