PHP排序selectpicker

时间:2014-06-17 07:30:24

标签: php yii

我想从数组$ administratorProvider中排序内容(按first_name排序),我已尝试sort()asort()函数。问题是不起作用,它保持显示从数据库中收到的数据 这是代码:

<select class="form-control selectpicker">
    <?php
        asort($administratorProvider);
        echo '<option value="">Name</option>';
        sort($administratorProvider);
        foreach($administratorProvider as $administrator){
            echo '<option value="'.$administrator->first_name.'">';
                echo $administrator->first_name;
            echo '</option>';
        }
    ?>
</select>

这是$ administratorProvider创建的:

 $administratorProvider = Administrator::model()->findAll();

1 个答案:

答案 0 :(得分:0)

尝试使用usort,

function cmp($a, $b)
{
    return strcmp($a->first_name, $b->first_name);
}

usort($administratorProvider, "cmp");

如果排序函数与调用函数在同一个类中,则应使用:

usort($administratorProvider, array($this, "cmp"));

如果您想使用其他键而不是名字进行排序,只需将其替换即可。

小建议:您可以使用排序函数的返回值来检查函数是否正确执行。 True意味着成功排序。