我知道这可能是一个重复的问题,或者stackoverflow中的某个地方有答案,但我就是无法在我的代码中使用它。这是示例:
我有PHP:
foreach ($load_image_array as $key) {
foreach($key as $k) {
echo "<pre>";
print_r($k);
echo "<pre>";
}
}
其中,当我打印_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_multi-sort,但我做不到,有专业人士可以在这里指导我吗?谢谢
USORT
数组元素本身就是数组。您可以使用自定义比较功能。
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;
});
?>
您可以使用array_multisort
手动
试试这个:
$upload = array();
foreach ($load_image_array as $key => $row)
{
$upload[$key] = $row['upload_id'];
}
array_multisort($upload, SORT_DESC, $load_image_array);