首页 > 解决方案 > 如何从索引范围中随机化数组?

问题描述

我目前正在分配房间,如何将数组从索引 1 随机化到 3?我的数组中有 4 个索引。

$arrayroom = array("1","2","3","4");
$check1 = "SELECT COUNT(*) AS Total FROM grade_7 WHERE Room_Number = '1' ";
    $ch= mysqli_query($conn,$check1);
    $d = mysqli_fetch_assoc($ch);
    if($d['Total'] < 40){
        $room = $arrayroom[0];
     }
     else{
        $room = array_rand($arrayroom);
     }

标签: phparraysrandom

解决方案


  • 您可以将数组拆分为两部分。
  • 随机播放第一部分并保持第二部分不变。
  • 合并这两个部分以获得您的结果。

片段:

<?php

$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");

$randomize = array_slice($input,0,3);
$keep_safe = array_slice($input,3);
shuffle($randomize);
print_r(array_merge($randomize,$keep_safe));

演示: https ://3v4l.org/HVMc8


推荐阅读