示例#1
0
 public static function sort($data, $field, $descending = false)
 {
     Assume::isArray($data);
     usort($data, function (BasicRecord $a, BasicRecord $b) use($field, $descending) {
         if ($a->{$field} == $b->{$field}) {
             return 0;
         }
         if ($descending) {
             if (is_numeric($a->{$field})) {
                 return $b->{$field} - $a->{$field};
             }
             return strcmp($b->{$field}, $a->{$field});
         } else {
             if (is_numeric($a->{$field})) {
                 return $a->{$field} - $b->{$field};
             }
             return strcmp($a->{$field}, $b->{$field});
         }
     });
     return $data;
 }