Blogger Information
Blog 24
fans 0
comment 12
visits 15603
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组常用函数作业和感想
移动用户-5435854
Original
823 people have browsed it

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);

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

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:可能老师上课介绍的函数使用场景, 有点接近生产环境了, 大家理解起来有点难, 下次会注意
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post