• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

$rand wiederholen ohne vorigen Wert

Sasch

New member
Guten Morgen liebes Forum :)

Ich versuch mich gerade an einer fb app

PHP:
<?
  $friend_count = count($friends);
  $random_friend_num = rand(0,$friend_count-1);
  $random_friend[id] = $friends[$random_friend_num];
  echo "<img src='http://graph.facebook.com/" . $random_friend['id']  ."/picture'><br>";
 ?>

HTML:
<tr>
<td>
<img src='http://graph.facebook.com/" . $random_friend['id']  ."/picture'><br>
<td>
</tr>

Funktioniert auch alles soweit.

Jedoch möchte ich nun das $friend_count die Freunde nochmals zählt und eine zufällige ID ausspuckt, ohne die schon erfasste ID.
Sodass kein Bild doppelt ausgegeben wird.

Ich möchte gerne 10 Bilder ausgeben lassen, muss ich dafür immer einen neuen Code schreiben oder kann man das zusammenfassen?

PHP:
<?
  $friend_count1 = count($friends);
  $random_friend_num1 = rand(0,$friend_count-1);
  $random_friend[id] = $friends[$random_friend_num1];
  echo "<img src='http://graph.facebook.com/" . $random_friend['id']  ."/picture'><br>";
 ?>

PHP:
<?
  $friend_count2 = count($friends);
  $random_friend_num2 = rand(0,$friend_count-1);
  $random_friend[id] = $friends[$random_friend_num2];
  echo "<img src='http://graph.facebook.com/" . $random_friend['id']  ."/picture'><br>";
 ?>

PHP:
<?
  $friend_count3 = count($friends);
  $random_friend_num3 = rand(0,$friend_count-1);
  $random_friend[id] = $friends[$random_friend_num3];
  echo "<img src='http://graph.facebook.com/" . $random_friend['id']  ."/picture'><br>";
 ?>


Danke für eure Hilfe :)
 
PHP:
<? 
  $friend_count = count($friends); 
  $random_friend_num = rand(0,$friend_count-1); 
  $random_friend[id] = $friends[$random_friend_num]; 
  echo "<img src='http://graph.facebook.com/" . $random_friend['id']  ."/picture'><br>"; 
 ?>

Wenn ich das so richtig übersetze:

Du zählst erst alle Freunde zusammen, startest mit rand() bei Null und ziehst dann vom friend_count eins ab? Warum?

Möglicherweise könntest Du deinem Problem mit einer Schleife entgegentreten?

Btw. seit wann gibt der Graph auch Userbilder her? :confused:
 
@dertypdernixkan: Arrayindices gehen in PHP von 0 bis "Anzahl - 1"...

@Sasch: da gibt es mehrere Wegen. Einer ist, dass du dir aus dem $friends-Array einen zufälligen Index so generieren lässt, wie du es schon machst. Anschließend führst du ein array_splice() aus und entfernst damit den Eintrag aus dem Array. Jetzt kannst du das wiederholen, da in $friends ja der eine Freund nicht mehr drin ist.
Ein anderer wäre, dass du das Array mischst und dann die ersten zehn Freunde nimmst.
 
Das hat nichts mit rand(), sondern mit ganz normaler Arrayauslese... ich hoffe für dich, dass du das schon weißt.
 
Zurück
Oben