随机化包含特定key->值的对象数组

时间:2015-01-15 17:20:27

标签: php sorting

我有一个包含45个对象元素的数组,其中包含idnameis_premium

从MySQL我收到它们,按is_premium desc排序,其中一些在列表末尾有is_premium = 0

如何使用is_premium=1随机化元素,将is_premium=0保留在数组的末尾?

1 个答案:

答案 0 :(得分:0)

尝试这是否有效:

<?php 
//assuming the array of objects is called $array
$new_array = array_merge(
    shuffle(
        array_filter($array,function($x){return $x['is_premium'] == 1;})
    ),
    array_filter($array,function($x){return $x['is_premium'] == 0;})
);
?>