根据优先级数组排序

问题描述 投票:0回答:2

我有一个算法,用户可以手动输入,它将显示页眉和页脚。虽然在我的函数中有一个优先级字段,并且我希望所有内容都按优先级排序。

3 个参数 - 字段、优先级、类型 请记住,我已经有一系列带有优先级预设的头/脚,此功能是添加附加或覆盖优先级。然后将其存储在另一个数组中以进行简化。然后我想按优先级对所有内容进行排序。

数组看起来像这样:

  'js-amcharts-export' =>  array('link' => 'assets/global/plugins/amcharts/amcharts/plugins/export/export.min.js',
                                    'type' => 'text/javascript',
                                    'default' => false,
                                    'priority' => ''),

示例:

$script->require_meta('js-amcharts-export', '20')

这将确保优先级为 10 的所有其他优先级首先加载,然后是 20,以及之后的所有内容。

基本上我需要根据“优先级”对数组进行排序

asort($header_array['priority']
有用吗?

php arrays sorting
2个回答
1
投票

我认为您正在寻找的 PHP 数组排序是 uasort。 http://php.net/manual/en/function.uasort.php


0
投票

在您的情况下,代码将如下所示:

function cmp($a, $b) {
    if ($a['priority'] == $b['priority']) {
        return 0;
    }
    return ($a['priority'] < $b['priority']) ? -1 : 1;
}
uasort($header_array, 'cmp');
© www.soinside.com 2019 - 2024. All rights reserved.