我如何排序这个数组的值“order”键?
尽管这些值目前是连续的,但它们并不总是连续的。
Array
(
[0] => Array
(
[hashtag] => a7e87329b5eab8578f4f1098a152d6f4
[title] => Flower
[order] => 3
)
[1] => Array
(
[hashtag] => b24ce0cd392a5b0b8dedc66c25213594
[title] => Free
[order] => 2
)
[2] => Array
(
[hashtag] => e7d31fc0602fb2ede144d18cdffd816b
[title] => Ready
[order] => 1
)
)
example with class:
class user
{
private $key;
public function __construct(string $key)
{
$this->key = $key;
}
public function __invoke($a, $b)
{
return $a[$this->key] <=> $b[$this->key];
}
}
$user = [
['id' => 1, 'name' => 'Oliver', 'id_card' => 4444],
['id' => 3, 'name' => 'Jack', 'id_card' => 5555],
['id' => 2, 'name' => 'Harry', 'id_card' => 6666]
];
// sort user by id
usort($user, new user('id'));
var_dump($user);
example with class:
class user
{
private $key;
public function __construct(string $key)
{
$this->key = $key;
}
public function __invoke($a, $b)
{
return $a[$this->key] <=> $b[$this->key];
}
}
$user = [
['id' => 1, 'name' => 'Oliver', 'id_card' => 4444],
['id' => 3, 'name' => 'Jack', 'id_card' => 5555],
['id' => 2, 'name' => 'Harry', 'id_card' => 6666]
];
// sort user by id
usort($user, new user('id'));
var_dump($user);