如果有特定的键,如何重新排序数组元素?

时间:2014-03-24 10:48:55

标签: php arrays wordpress

似乎Wordpress wp_query没有通过post_status提供订单选项。我想在其他帖子之前列出私人帖子。 posts数组如下所示:

$posts = array(
             0=>object{
                     ....
                },
             1=>object{
                     ....
               },
            ....
         );

每个帖子对象都有一个' post_status'的键。如果值为' private',我想将帖子移动到数组的开头。怎么样?

2 个答案:

答案 0 :(得分:0)

看看uasort()。 这允许您编写自己的比较函数并根据需要对数组进行排序。

答案 1 :(得分:0)

使用usort()

usort($posts, ($a, $b) {
    return ($a->post_status < $b->post_status) ? -1 : 1;
});