php-数组排序

目录

/**
 * 指定数组以$keys键值排序
 * @param $array  数组
 * @param $keys 排序键值
 * @param string $type 升降序
 * @return array
 */
function array_sort($array,$keys,$type='asc'){
    //$array为要排序的数组,$keys为要用来排序的键名,$type默认为升序排序
    $keysvalue = $new_array = array();
    foreach ($array as $k=>$v){
        $keysvalue[$k] = $v[$keys];
    }
    if($type == 'asc'){
        asort($keysvalue);
    }else{
        arsort($keysvalue);
    }
    reset($keysvalue);
    foreach ($keysvalue as $k=>$v){
        $new_array[$k] = $array[$k];
    }
    return $new_array;

}


/**
 * 对价格进行向上或向下取整
 * @param $price    //价格
 * @param $decimal  //保留小数位数
 * @param $type 1:向上 2:向下
 */
function upDecimal($num, $dec = 2, $type = 1){
    if($num != 0){
        $numArr = explode('.',$num);
        if($type == 1){
            if($num > 0){
                if($numArr[1][$dec] > 0){
                    $numArr[1][$dec-1] = $numArr[1][$dec-1]+1;
                }
            }
        }else{
            if($num < 0) {
                if ($numArr[1][$dec] > 0) {
                    $numArr[1][$dec - 1] = $numArr[1][$dec - 1] + 1;
                }
            }
        }
        $numArr[1] = substr($numArr[1], 0, $dec);
        $var = implode('.', $numArr);
        return $var;
    }
    return $num;

}

/**
 * 获取最近七天所有日期
 * @param string $time
 * @param string $format
 * @return string
 */
function get_weeks($time = '', $format='Y-m-d'){
    $time = $time != '' ? $time : time();
    //组合数据
    $date['data'] = [];
    for ($i=1; $i<=7; $i++){
        $date['data'][$i] = date($format ,strtotime( '+' . $i-7 .' days', $time)); 
    }
    return $date;
}

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦