【发布时间】:2015-05-27 14:46:53
【问题描述】:
在这里问之前我已经尝试了几次,我也看到了这个question
这与我的相似,但不幸的是它不起作用(或者我也可以让它工作)。
我有一个这样的数组:
Array (
[user_1] => Array
(
[0] => Array
(
[category] => string_var
[time] => unix_timestamp
),
[1] => Array
(
[category] => string_var
[time] => unix_timestamp
),
[2] => Array
(
[category] => string_var
[time] => unix_timestamp
)
),
[user_2] => Array
(
[0] => Array
(
[category] => string_var
[time] => unix_timestamp
),
[1] => Array
(
[category] => string_var
[time] => unix_timestamp
),
[2] => Array
(
[category] => string_var
[time] => unix_timestamp
)
)
)
对于每个用户,我必须按时间戳对二级数组进行排序。
因此,我尝试过:
foreach ($array as $user => $user_data) {
timestamps = array();
foreach($user_data as $key => $actual_data) {
$timestamps[$key] = $actual_data['time'];
}
array_multisort($timestamps, SORT_ASC, $user_data);
}
unset($timestamps);
print_r($array); // the original array should now be sorted by timestamp
好吧,没有排序发生,最终的数组正好=原始数组。
注意事项:
- 第二级数组的键 ['time'] 来自 MYSQL 列
它存储为 BIGINT。 var_dump 给了我:
int(1432587949),所以它不应该是变量类型问题 - 我也尝试过 usort,结果相同:没有排序。
我哪里错了?谢谢
【问题讨论】:
标签: php arrays sorting multidimensional-array