自己举例进行数组的三个回调函数的演示操作:
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>";
},"->");
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号