我有一个包含45个对象元素的数组,其中包含id
,name
,is_premium
。
从MySQL我收到它们,按is_premium desc
排序,其中一些在列表末尾有is_premium = 0
。
如何使用is_premium=1
随机化元素,将is_premium=0
保留在数组的末尾?
答案 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;})
);
?>