php常用方法总结,持续更新
- 1.根据当前时间,获取凌晨到当前时间的小时段数组
- 2.根据当前时间,获取上个月到当前时间的日期数组
- 3.根据当前时间,获取上年同月份到当前时间的月份数组
- 4…获取某月的日期数组(循环输出处做了业务需求处理)
- 5.二维数组按某个键的值大小重新排序
- 6.二维数组根据某个字段去重
1.根据当前时间,获取凌晨到当前时间的小时段数组
$new = time(); //当前时间
$start = strtotime(date("Ymd", $new));
// 获取每天凌晨到当前时间的小时数组
$hours = [];
$k = 0;
for ($i = $start; $i <= $new; $i += 3600) {
$hours[$k]['time'] = date("H:i", $i);
$hours[$k]['hour'] = $i;
//$res["data"][$k] = date("H:i", $i);
//$k++;
}
2.根据当前时间,获取上个月到当前时间的日期数组
$time = strtotime("-1 months", strtotime(date("Y-m-d", time())));
//$k = 0;
for ($i=$time; $i < time(); $i+=86400) {
$month[$k]['month'] = $i;
//$res['data'][$k] = date("m-d",$i);
//$k++;
}```
3.根据当前时间,获取上年同月份到当前时间的月份数组
$last_month_day = strtotime(date("Y-m",strtotime("-1 year")). "-01");
// $last_month = strtotime(date("Y-m", strtotime("-1 year")));
// $k = 0;
$time = time();
for ($i = 0; $i <= 12; $i++) {
$month[$i]["month"] = date("Y-m", strtotime("+" . $i . " month", $last_month_day)) ."-01";
//$res['data'][$i] = date("Y-m", strtotime("+" . $i . " month", $last_month_day));
// $k++;
}
4.获取某月的日期数组(循环输出处做了业务需求处理)
function getMonthDays($month = "this month", $format = "Ymd", $dateTimeZone = false) {
$start = strtotime("first day of $month");
$end = strtotime("last day of $month");
$days = array();
for ($i = $start; $i <= $end; $i += 24 * 3600) $days[] = date($format . "000000", $i);
return $days;
}
5.二维数组按某个键的值大小重新排序
// 二维数组按某个键的值大小重新排序
/*
* $arr 需要排序的数组
* $key二维数组排序的键值
* $type 排序方式
*/
function array_sort($arr, $keys, $type = 'desc')
{
$keysvalue = $new_array = array();
foreach ($arr as $k => $v) {
$keysvalue[$k] = $v[$keys];
}
if ($type == 'asc') {
asort($keysvalue);
} else {
arsort($keysvalue);
}
reset($keysvalue);
$num = 0;
foreach ($keysvalue as $k => $v) {
$new_array[$num] = $arr[$k];
$num++;
}
return $new_array;
}
- 二维数组根据某个字段去重
/**
* 二维数组根据某个字段去重
* @param array $array 二维数组
* @para array 去重后的数组
*/
private function uniquArr($array){
$result = array();
foreach($array as $k=>$val){
$code = false;
foreach($result as $_val){
if($_val['id'] == $val['id']){
$code = true;
break;
}
}
if(!$code){
$result[]=$val;
}
}
return $result;
}