自己举例进行数组的三个回调函数的演示操作:
1. array_filter()
2. array_walk()
3. array_map()
输出2000-2200年为闰年的年份。
要求输出结果年份为中文汉字表示。
<?php //生成2000-2200年 $year=range(2000,2200); //筛选2000-2200年为润年的年份array_filter函数 $year_leap=array_filter($year,function ($year){ if ($year%400==0||($year%4==0&&$year%100!=0)) { return true; }else return false; }); echo "<pre>"; echo "<h1 style='text-align: center'>2000-2200年闰年表</h1>"; //将闰年变量重新排列 $year_leap=array_values($year_leap); echo "<hr>"; //数字转为汉字函数(通过递归调用完成) function NumberToWord($number){ $Chinese_num=array('零', '一', '二', '三','四', '五', '六', '七', '八', '九'); if (floor($number/10)==0) return $Chinese_num[$number%10]; else { return NumberToWord(floor($number/10),$Chinese_num).$Chinese_num[$number%10]; } } //$a=NumberToWord(2022,$Chinese_num); //echo $a; //利用array_map将闰年数组的数字中文化。 $year_leap=array_map("NumberToWord",$year_leap); //用array——walk遍历,格式输出结果集 array_walk($year_leap,function ($value,$key,$p){ echo "<span style='width: 230px;float: left;border: solid 1px white;margin: 1px;text-align: center;background-color:rgba(6,7,105,0.63);color: lightgrey;font-size: 1.5em;border-radius: 5px'>第" .($key+1)."个闰年是".$p.$value."</span>"; },"->");