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

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

來(lái)源:    發布時(shí)間:2020-02-22 17:36:04    浏覽: array_column 用(yòng)于獲取二維數組中的(de)元素(PHP 5.5新增函數),但我們有時(shí)候需要在低版本的(de)PHP環境中使用(yòng),隻要做(zuò)一個(gè)小的(de)改造即可(kě)...

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);
    }
}

對(duì)二位數組按照(zhào)某個(gè)字段進行排序

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

SORT_DESC 可(kě)選 SORT_DESC 和(hé) SORT_ACS


内容源于網絡,如有侵權或違規我們會盡快(kuài)整改

相關文章(zhāng)

微信溝通(tōng) QQ客服
掃描二維碼添加客服微信