我有两个数组 $days_order
和 $mysql_result
,我想使用 $days_order
对 $mysql_result
数组进行排序> 数组。我想按天数升序显示 MySQL 结果?有什么办法可以做到这一点或任何其他方式,以便我可以在 OrderBy
部分的 MySQL 查询中传递 $days_order
吗?
$days_order = Array([0] => 2[1] => 3[2] => 4[3] => 5 [4] => 6[5] => 7[6] => 1);
$mysql_result = Array (
[0] => Array
(
[hashtag] => a7e87329b5eab8578f4f1098a152d6f4
[title] => Flower
[day] => 3
)
[1] => Array
(
[hashtag] => b24ce0cd392a5b0b8dedc66c25213594
[title] => Free
[day] => 2
)
[2] => Array
(
[hashtag] => e7d31fc0602fb2ede144d18cdffd816b
[title] => Ready
[day] => 1
)
)
我想要在 $days_order
中排序的数组
输出:
Array
(
[0] => Array
(
[hashtag] => b24ce0cd392a5b0b8dedc66c25213594
[title] => Free
[day] => 2
)
[1] => Array
(
[hashtag] => a7e87329b5eab8578f4f1098a152d6f4
[title] => Flower
[day] => 3
)
[2] => Array
(
[hashtag] => e7d31fc0602fb2ede144d18cdffd816b
[title] => Ready
[day] => 1
)
)
最佳答案
将 usort
与自定义比较函数结合使用。
类似于:
usort($ranked, function($a, $b) {
if ($a['day'] === $b['day']) return 0;
return ($a['day'] > $b['day']) ? -1 : 1;
});
您可以阅读有关此功能的更多信息 here .
关于php - 按给定索引对多维数组进行排序 - PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31928554/