对象数组按照对象某一字段排序的方法
不错的方法,做个记录.
比如我现在有一个对象{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; }?