137-8593-6100
137-8593-6100
  • 秦皇島網站定制

讓array_column()函數兼容低版本PHP,二位數組按照某個字段排序

來源:    發布時間:2020-02-22 17:36:04    瀏覽: array_column 用于獲取二維數組中的元素(PHP 5.5新增函數),但我們有時候需要在低版本的PHP環境中使用,只要做一個小的改造即可...

function i_array_column($input, $columnKey, $indexKey=null){
    if(!function_exists('array_column')){
        $columnKeyIsNumber  = (is_numeric($columnKey))?true:false;
        $indexKeyIsNull            = (is_null($indexKey))?true :false;
        $indexKeyIsNumber     = (is_numeric($indexKey))?true:false;
        $result                         = array();
        foreach((array)$input as $key=>$row){
            if($columnKeyIsNumber){
                $tmp= array_slice($row, $columnKey, 1);
                $tmp= (is_array($tmp) && !empty($tmp))?current($tmp):null;
            }else{
                $tmp= isset($row[$columnKey])?$row[$columnKey]:null;
            }
            if(!$indexKeyIsNull){
                if($indexKeyIsNumber){
                  $key = array_slice($row, $indexKey, 1);
                  $key = (is_array($key) && !empty($key))?current($key):null;
                  $key = is_null($key)?0:$key;
                }else{
                  $key = isset($row[$indexKey])?$row[$indexKey]:0;
                }
            }
            $result[$key] = $tmp;
        }
        return $result;
    }else{
        return array_column($input, $columnKey, $indexKey);
    }
}

對二位數組按照某個字段進行排序

//根據字段last_name對數組$data進行降序排列
$newarr = array_column($data,'需要依據的字段名稱');
array_multisort($newarr,SORT_DESC,$data);

SORT_DESC 可選 SORT_DESC 和 SORT_ACS


內容源于網絡,如有侵權或違規我們會盡快整改

相關文章

宝星棋牌代理 福彩四川快乐12开奖号 另特码玄机 重庆时时彩送彩金10000元 PP电子_最新版—点击进入 江西多乐彩术语 澳洲幸运5平台 贵州快三分析软件 重庆时时彩登录入口 江苏11选5小助手 青海11选5基本走势图 黑龙江时时彩网 香港赛马会现场直播 贵州快三爱彩乐 澳洲幸运5是哪个国家发行的 百家乐试玩_Welcome 篮球胜分差每日推荐