<?php
class A {
public $a;
public $b;
public $c;
public function __construct($a, $b, $c) {
$this->a = $a;
$this->b = $b;
$this->c = $c;
}
}
$arr = Array(
new A('a1235d', 'f', 'M'),
new A('a1235d', 'm', 'L'),
new A('a1235d', 'm', 'S'),
new A('a1234d', 'm', 'L'),
new A('a1234d', 'm', 'S'),
new A('a1236d', 'm', 'S'),
new A('a1236d', 'm', 'M'),
new A('a1234d', 'f', 'S'),
new A('a1236d', 'f', 'S'),
new A('a1236d', 'f', 'M'),
new A('a1235d', 'f', 'S'),
new A('a1234d', 'm', 'M'),
new A('a1235d', 'm', 'M'),
new A('a1234d', 'f', 'M'),
new A('a1235d', 'f', 'L'),
new A('a1236d', 'm', 'L'),
new A('a1236d', 'f', 'L'),
new A('a1234d', 'f', 'L')
);
function sort_by_a($arr) {
usort($arr, function($a, $b) {
if ($a->a == $b->a) {
return 0;
}
return ($a->a < $b->a) ? -1 : 1;
});
return $arr;
}
function sort_by_b($arr) {
usort($arr, function($a, $b) {
if ($a->b == $b->b) {
return 0;
}
return ($a->b < $b->b) ? -1 : 1;
});
return $arr;
}
function sort_by_c($arr) {
usort($arr, function($a, $b) {
if ($a->c == $b->c) {
return 0;
}
return ($a->c < $b->c) ? -1 : 1;
});
return $arr;
}
$arr = sort_by_c($arr);
$arr = sort_by_b($arr);
$arr = sort_by_a($arr);
var_dump($arr);
preferences:
58.48 ms | 402 KiB | 5 Q