首頁  >  問答  >  主體

如何在PHP中從陣列中隨機選擇一個值?

<p>我在PHP中有一個物件陣列。我需要隨機選出其中的8個。我最初的想法是使用<code>array_rand(array_flip($my_array), 8)</code>,但這不起作用,因為物件不能作為陣列的鍵。 </p> <p>我知道我可以使用<code>shuffle</code>,但我擔心隨著陣列的成長,效能會變差。這是最好的方法嗎,還是有更有效率的方法? </p>
P粉860897943P粉860897943394 天前562

全部回覆(2)我來回復

  • P粉364129744

    P粉3641297442023-08-25 21:11:22

    $array = array();
    shuffle($array); // 随机排列数组项的顺序
    $newArray = array_slice($array, 0, 8);

    注意,shuffle() 函數將參數作為參考傳遞,並對其進行更改。

    回覆
    0
  • P粉493313067

    P粉4933130672023-08-25 20:54:07

    $result = array();
    foreach( array_rand($my_array, 8) as $k ) {
      $result[] = $my_array[$k];
    }

    回覆
    0
  • 取消回覆