Hallo,
schon wieder hoffe ich auf eure Hilfe.
Ich möchte gern ein Array folgender Form erzeugen:
Code:
$wertemenge = array(
"1" => "1",
"2" => "1",
"3" => "1",
"4" => "2",
"5" => "2",
"6" => "3");
Hintergrund ist, dass ich versuche, eine Lernkartei umzusetzen.
Habe ich einen Inhalt gewusst, wandert er ein Fach nach hinten.
Meine Idee ist, die Anzahl der Fächer nicht im Vorfeld festzulegen, die Kartei soll die Möglichkeit haben, an Fächern "nach hinten raus" zu wachsen.
Zugleich soll die Wahrscheinlichkeit, mit welcher das Programm Karten zur Abfrage auswählt, abnehmen, je höher die Fachnummer ist (oder anders formuliert: je weiter "hinten" der Inhalt in der Kartei ist).
Resultat obigen Arrays soll also sein, dass Fach "3" seltener als Fach "2" und selbiges seltener als Fach "1" abgefragt wird.
Zur Auswahl des abzufragenden Fachs möchte ich PHP eine Zufallszahl generieren lassen.
Durch Abgleich mit den Keys des obigen Arrays kann dann in dessen Values die betreffende Fachnummer "nachgeschlagen" werden.
Das obige Array ist ein Beispiel, basierend auf der Annahme, derzeit existierten 3 Fächer.
Die Anzahl der benötigten Arrayfelder/Keys und zugleich die Wertemenge, auf welcher per mt_rand() die Zufallszahl ermittelt wird, ergibt sich als Summe der Fachnummern wie folgt:
Code:
for ($i = $hoechstesKarteifach; $i > 0; $i--) {
$summe = $summe + $i;
}
Leider will es mir nicht gelingen, obiges Array per PHP zu erzeugen.
Ich habe es mit ineinander verschachtelten Schleifen versucht, bislang jedoch ohne Erfolg.
Es wäre fein, wenn jemand mit mehr Schleifenerfahrung oder Logik als ich mir helfen könnte.
Besten Dank für euer Bemühen!