Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:create:functions:valuelist [11.05.2019 13:41] adminde:create:functions:valuelist [11.05.2019 13:47] admin
Zeile 79: Zeile 79:
 $equal = array(); $equal = array();
 foreach ($values as $varID => $value) { foreach ($values as $varID => $value) {
-  $itemID = (int)ltrim(substr($varID, 4), "0");+  $itemID = (int)ltrim(substr($varID, 5), "0");
   if ($value > $threshold) {   if ($value > $threshold) {
-    $greater[] = $varID;+    $greater[] = $itemID;
   } elseif ($value == $threshold) {   } elseif ($value == $threshold) {
-    $equal[] = $varID;+    $equal[] = $itemID;
   }   }
 } }
Zeile 90: Zeile 90:
 Zur Erklärung von ''$threshold'': Die Variable ''$order'' enthält die Schlüssel des Arrays ''$values''. Damit kann man gezielt den Schlüssel des dritten Werts (Index 2) in der sortierten Liste abrufen. ''$order[2]'' wäre hier also "SR01_04" und wenn man diesen Schlüssel aus ''$values'' abruft, bekommt man im Beispiel die ''59''. Zur Erklärung von ''$threshold'': Die Variable ''$order'' enthält die Schlüssel des Arrays ''$values''. Damit kann man gezielt den Schlüssel des dritten Werts (Index 2) in der sortierten Liste abrufen. ''$order[2]'' wäre hier also "SR01_04" und wenn man diesen Schlüssel aus ''$values'' abruft, bekommt man im Beispiel die ''59''.
  
-Zur Erklärung vin ''$itemID'': Wir benötigen ja nicht die komplette Variablen-Kennung (z.B. "SR01_01"), sondern nur die Nummer des Items, also z.B. ''1''. Dafür entnehmen wir zunächst mittels ''substr()'' aus "SR01_01" alles ab der fünften Position (Index 4) und dann wird mittels ''ltrim()'' noch die führende "0" entfernt, damit PHP den Text "1" anschließend mittels ''(int)'' in die Zahl ''1''.+Zur Erklärung vin ''$itemID'': Wir benötigen ja nicht die komplette Variablen-Kennung (z.B. "SR01_01"), sondern nur die Nummer des Items, also z.B. ''1''. Dafür entnehmen wir zunächst mittels ''substr()'' aus "SR01_01" alles ab der sechsten Position (Index 5), also "01", und dann wird mittels ''ltrim()'' noch die führende "0" entfernt, damit PHP den Text "1" anschließend mittels ''(int)'' in die Zahl ''1''.
  
 Das Mischen der Liste ''$equal'' erfolgt mittels ''shuffle()''. Und aus dieser Liste benötigen wir drei minus die Anzahl Elemente aus der Liste ''$greater'', ermittelt via ''count()''. Das Mischen der Liste ''$equal'' erfolgt mittels ''shuffle()''. Und aus dieser Liste benötigen wir drei minus die Anzahl Elemente aus der Liste ''$greater'', ermittelt via ''count()''.
de/create/functions/valuelist.txt · Zuletzt geändert: 23.11.2020 09:49 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki