PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

博客列表 > PHP 二维数组根据字段值排序并把空值放入数组末尾

PHP 二维数组根据字段值排序并把空值放入数组末尾

Ant.
Ant. 原创
2020年07月10日 18:13:16 1122浏览

先把数组进行排序, 我这时按照总价来从低到高,排好后发现空值在最前面,所以又去把空值放入数组末尾

$data = array2Sort($data, 'TotalPrice', 'asc');
把空值的数组放入末尾 .. 2个方法在下面
$like = moveZeroEnd($like,'TotalPrice');

实例

/***
 * 二维数组根据字段值排序
 * @param $array
 * @param $keys
 * @param string $sort
 * @return array
 */
function array2Sort($array,$keys,$sort='asc') {
    $newArr = $valArr = array();
    foreach ($array as $key=>$value) {
        $valArr[$key] = $value[$keys];
    }
    ($sort == 'asc') ?  asort($valArr) : arsort($valArr);
    reset($valArr);
    foreach($valArr as $key=>$value) {
        $newArr[$key] = $array[$key];
    }
    return $newArr;
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

/***
 * 数组为空追加到末尾
 * @param $array //数组
 * @param $key  //需要比对的键值
 * @return bool
 */
function moveZeroEnd($array, $key){
    if (empty($array)) return false;
    for ($i = 0; $i < count($array) ; $i++) {
        if ($array[$i][$key] == 0) {
            array_push($array, $array[$i]);//把为0的值du追加到末尾zhi
            unset($array[$i]);
        }
    }
    return $array;
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议