Skip to content

Instantly share code, notes, and snippets.

@jk
Last active August 29, 2015 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jk/fd0fc583384a58fd4816 to your computer and use it in GitHub Desktop.
Save jk/fd0fc583384a58fd4816 to your computer and use it in GitHub Desktop.
<?php
$list = [];
$keys = ['a', 'x'];
foreach ($keys as $key) {
$list[] = ['key' => $key, 'quality' => 1];
}
array_walk($list, function (&$v, $k) {
// Decorate
$v['quality'] = [$v['quality'], $k];
});
usort($list, function ($a, $b) {
return strcmp($a['quality'], $b['quality']);
});
array_walk($list, function (&$v, $k) {
// Undecorate
$v['quality'] = $v['quality'][0];
});
var_dump($list);
array(2) {
[0] =>
array(2) {
'key' =>
string(1) "x"
'quality' =>
int(1)
}
[1] =>
array(2) {
'key' =>
string(1) "a"
'quality' =>
int(1)
}
}
array(2) {
[0] =>
array(2) {
'key' =>
string(1) "a"
'quality' =>
int(1)
}
[1] =>
array(2) {
'key' =>
string(1) "x"
'quality' =>
int(1)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment