批改状态:合格
老师批语:很认真, 继续
<?php// 检查指定的键名是否存在于数组中// array_key_exists('键名','数组')$a=array('Volvo'=>'XC90','BMW'=>'X5');if (array_key_exists('Volvo',$a)):echo '键存在!';else:echo '键不存在!';endif;// 搜索数组中给定的值并返回键名// array_search('查找的值','搜索的数组')$a=array('a'=>'red','b'=>'green','c'=>'blue');echo array_search('red',$a);// 比较两个数组的键值,并返回交集// array_intersect('数组1','数组2')$a1=array('a'=>'red','b'=>'green','c'=>'blue','d'=>'yellow');$a2=array('e'=>'red','f'=>'green','g'=>'blue');$result=array_intersect($a1,$a2);print_r($result);// 比较两个数组的键名和键值,并返回交集$a1=array('a'=>'red','b'=>'green','c'=>'blue','d'=>'yellow');$a2=array('a'=>'red','b'=>'green','c'=>'blue');$result=array_intersect_assoc($a1,$a2);print_r($result);echo '<hr>';// list — 把数组中的值赋给一组变量// list('数组')$rep = ['red','green','blue'];list($a,$b,$c) = $rep;echo $a . $b . $c;echo '<hr>';// compact()将一组变量名值对拼装成一个惯量数组键值对// compact('变量1','变量2','变量3',....)$firstname = 'Bill';$lastname = 'Gates';$age = '60';$result = compact('firstname', 'lastname', 'age');print_r($result);echo '<hr>';// array_fill()用给定的值填充数组// array_fill('数组的第一个索引','元素个数','填充数组所使用的值')print_r(array_fill(0,4,'a'));echo '<hr>';// array_fill_keys():使用指定的键和值填充数组$keys=['a','b','c','d'];$values = ['red','green','blue'];// $values为数组时返回的时一个二位数组$a1=array_fill_keys($keys,$values);print_r($a1);echo '<hr>';// array_pad()用值将数组填补到指定长度// array_pad('数组','元素的长度','插入的长度')$a=array('red','green');print_r(array_pad($a,5,'blue'));// 负数表示从数组的左边开始插入数据print_r(array_pad($a,-5,'blue'));echo '<hr>';echo '<hr>';
// array_filter()用回调函数过滤数组中的单元// array_filter('变量','匿名函数')// 依次将$pdm数组中的每个值传递到匿名函数。如果函数返回 true,则$pdm数组的当前值会被包含在返回的结果数组中。数组的键名保留不变$pdm = ['a'=>'red','b'=>'green','c'=>'blue','f' => 'NULL', 'd'=>'yellow' ,'e'=>'0'];print_r(array_filter($pdm , function($item){// 当$item==='0'为真时,返回数组的键值return $item ==='0';}));echo '<hr>';// array_map(): 为数组的每个元素应用回调函数// array_map('匿名函数','变量')// 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组// 可以使用多个数组$ku = ['a'=>'12', 'b'=>'老师','c'=>'学生'];print_r(array_map(function($n){if($n ==='12'){return '888';}else{return $n;}},$ku));echo '<hr>';// array_walk() 使用用户自定义函数对数组中的每个元素做回调处理// array_walk('输入的数组','匿名函数','可选第三个参数')// 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数$a=array("a"=>"red","b"=>"green","c"=>"blue");array_walk($a,function($value,$key,$p){echo "$key $p $value<br>";},"has the value");echo '<hr>';// array_reduce() 函数用回调函数迭代地将数组简化为单一的值// array_reduce('输入的数组','匿名函数','可选第三个函数')// 如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值$num = [1,2,3,4];print_r(array_reduce($num,function($a,$b){return $a + $b;}));echo '<hr>';
array_slice与array_splice
// array_slice() 从数组中取出一部分// array_slice('输入的数组','取值的起始位置','取值的终点位置','布尔值')// 取值位置为负数代表取值方向,正数从左边开始,负数从右边开始// 终点位置为负数代表这个位置左边的一个取值区域// 布尔值改变索引方式$lan =[1,2,3,4,'red','green','blue'];print_r(array_slice($lan,2,2,'turn'));echo '<hr>';// array_splice()删除数组中的某一部分并用其它值取代// array_splice('输入的数组','取值的起点','取值的终点','替换的值,多个值用数组')// 返回值是被删除的数据$lan =[1,2,3,4,'red','green','blue'];print_r(array_splice($lan,2,3,['yello','black','witch']));// 打印的是修改后的内容print_r($lan);
回调函数:把一个匿名函数当成一个函数的参数来使用
队列: 先进先出, 最先插入的数据最先出来, FIFO, 添
加与删除允许在二端进行栈: 后进先出, 最后进入的最先出来, LIFO, 添加与
删除受限,只允许在一端进行参数的负数;影响到取值的起始位置和取值方向还有取值区域
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号