我正在尝试通过时间戳过滤数组,但是没有用。这是我的代码:
$get = array{
"5656778": {
"date": 1541304426,
"text": "some text",
},
"567845": {
"date": 1541304416,
"text": "some other text",
},
}
function cmp($b, $a){
$ad = strnatcmp($a['date']);
$bd = strnatcmp($b['date']);
return ($bd-$ad);
}
usort($get, 'cmp');
foreach ($get as $key => $value) {
// displaying results
}
我试图修复该方法,但是所有结果都相同。
我想念什么?
我们非常感谢您的帮助
答案 0 :(得分:2)
我假设问题中的内容实际上是要转换为数组的完整JSON
数据中的一部分。在这种情况下,此代码应为您提供所需的结果:
$json = '{
"5656778": {
"date": 1541304426,
"text": "some text"
},
"567845": {
"date": 1541304416,
"text": "some other text"
}
}';
$get = json_decode($json, true);
usort($get, function ($a, $b) { return $a['date'] - $b['date']; });
print_r($get);
输出:
Array
(
[0] => Array
(
[date] => 1541304416
[text] => some other text
)
[1] => Array
(
[date] => 1541304426
[text] => some text
)
)