我知道这可能是重复的问题,或者在stackoverflow中有一个答案,但我无法让它在我的代码上工作。以下是样本:
我有PHP:
foreach ($load_image_array as $key) {
foreach($key as $k) {
echo "<pre>";
print_r($k);
echo "<pre>";
}
}
当我在print_r时,它显示如下:
Array
(
[upload_id] => 26
[upload_username] => user1
)
Array
(
[upload_id] => 23
[upload_username] => user2
)
Array
(
[upload_id] => 25
[upload_username] => user1
)
Array
(
[upload_id] => 24
[upload_username] => user2
)
我只想按[upload_id]
对其进行排序。我试过array_multisort但是我不能让它工作,任何专业人士都可以指导我在这里?谢谢!
答案 0 :(得分:0)
您可以使用array_multisort
试试这个:
$upload = array();
foreach ($load_image_array as $key => $row)
{
$upload[$key] = $row['upload_id'];
}
array_multisort($upload, SORT_DESC, $load_image_array);
答案 1 :(得分:0)
您的数组元素本身就是数组。您可以使用自定义比较功能。
function sort_desc($item1,$item2)
{
if ($item1['upload_id'] == $item2['upload_id']) return 0;
return ($item1['upload_id'] < $item2['upload_id']) ? 1 : -1;
}
usort($upload,'sort_desc');
print_r($upload);
或您还可以使用以下simplified
版本。
<?php
usort($upload, function($a, $b) {
return $a->integer_property - $b->integer_property;
});
?>