读书人

对象数组依照对象某一字段排序的方法

发布时间: 2012-11-07 09:56:10 作者: rapoo

对象数组按照对象某一字段排序的方法

不错的方法,做个记录.

比如我现在有一个对象{person:{"name":"goodman","age":18...}}

有一个数组 personList,其中元素是Person对象.

现在需要将这些对象按照age排序.调用下面的方法:

?

?

    /**     *  php:sorted object in array according to a object's field.     *      * @param array $List     * @param var $by sort filed     * @param var $order desc/asc     * @param var $type sort type(num/string)     * @return array     */    function ArraySort(array $List, $by, $order='', $type='') {        if (empty($List))            return $List;        foreach ($List as $key => $row) {            //    $sortby[$key] = $row[$by] ;            $sortby[$key] = $row->$by;        }        if ($order == "DESC") {            if ($type == "num") {                array_multisort($sortby, SORT_DESC, SORT_NUMERIC, $List);            } else {                array_multisort($sortby, SORT_DESC, SORT_STRING, $List);            }        } else {            if ($type == "num") {                array_multisort($sortby, SORT_ASC, SORT_NUMERIC, $List);            } else {                array_multisort($sortby, SORT_ASC, SORT_STRING, $List);            }        }        return $List;    }
?

读书人网 >编程

热点推荐