php 从数组中随机取出几个元素,并按从小到大排列 可刷新运行 刷新

例如从任务列表中随机取出4个任务,按任务id(或者其它的的列)从小到大排序。

代码:

$tasks = [
        ['id'=>1],
        ['id'=>2],
        ['id'=>3],
        ['id'=>4],
        ['id'=>5],
        ['id'=>6],
    ]; 
    $taskIds = array_column($tasks,'id');
    //打乱任务
    shuffle($taskIds);
    //取出四个任务
    $userTaskIds = array_slice($taskIds,0,4);
    var_export($userTaskIds);
    //排序
    sort($userTaskIds);  
    var_export($userTaskIds);

输出:

array (
  0 => 5,
  1 => 4,
  2 => 1,
  3 => 3,
)array (
  0 => 1,
  1 => 3,
  2 => 4,
  3 => 5,
)