Heim  >  Fragen und Antworten  >  Hauptteil

Wie wähle ich in PHP einen Zufallswert aus einem Array aus?

<p>Ich habe ein Array von Objekten in PHP. Ich muss 8 davon zufällig auswählen. Mein erster Gedanke war, <code>array_rand(array_flip($my_array), 8)</code> zu verwenden, aber das funktioniert nicht, weil Objekte keine Schlüssel für Arrays sein können. </p> <p>Ich weiß, dass ich <code>shuffle</code> verwenden könnte, aber ich mache mir Sorgen, dass die Leistung schlechter wird, wenn das Array wächst. Ist das der beste Weg oder gibt es einen effizienteren Weg? </p>
P粉860897943P粉860897943394 Tage vor561

Antworte allen(2)Ich werde antworten

  • P粉364129744

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

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

    注意,shuffle() 函数将参数作为引用传递,并对其进行更改。

    Antwort
    0
  • P粉493313067

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

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

    Antwort
    0
  • StornierenAntwort