Mailinglisten-Archive |
Sebastian Nohn wrote: > zur Lösung eines Problems muss ich eine Mustererkennung in PHP > implementieren. Alle Werte des folgenden Arrays sind dabei als gleich > zu betrachten: Hier die Lösung für die, die's interessiert: $newcells = array(); foreach ($testcells as $ci => $rt) { // Wie werden die Hoppingsysteme auf Buchstaben gemapped? $hopsys_map = array(); // Da das ganze Rackweise konfiguriert wird, kann's passieren, das die // Reihenfolge der Racks 1, 2, 4, 5 ist. // Die RTs sind aber dennoch selbstverstänlich 0,1,2,3 $orderrt = 0; // Es sind maximal 10 Hoppingsysteme zu mappen $letters = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j"); // Schauen wir uns die einzelnen RTs an foreach ($rt as $channel) { // Erstmal die Timeslots voneinander separieeren $timeslots = explode(" ", $channel); // Durch das spearieren bekommen wir einen "leeren" Timeslot zuviel, // das ist uns aber egal, weil wir einfach stur zählen: for ($i = 0; $i <=7; $i++) { // Hoppingsystem, mit dem der aktuelle TS konfiguriert ist $hopsys = $timeslots[$i]; // Ist denn überhaupt ein Hopping konfiguriert? if(is_numeric($timeslots[$i])) { // Ist dieses Hopsys noch nicht aufgetreten? if (!isset($hopsys_map[$hopsys])) { // Dann weisen wir was zu $hopsys_map[$hopsys] = current($letters); // Überschreiben das Hoppingsystem $hopsys = current($letters); // Und bereiten uns auf das nächste vor... next($letters); } // Mapping gesetzt? if (isset($hopsys_map[$hopsys])) // Gemappten Wert zuweisen $newcells[$ci][$orderrt][$i] = $hopsys_map[$hopsys]; else // Original-Hopping-System zuweisen $newcells[$ci][$orderrt][$i] = $hopsys; } else { // Hier ist kein Hopping konfiguriert $newcells[$ci][$orderrt][$i] = "-"; } } // Nächster RT... $orderrt++; } } MfG, Sebastian Nohn -- sebastian nohn - wismarer Str. 22 - 53757 sankt augustin - germany mobile: +49 170 4718105 email: sebastian at nohn.net web: http://nohn.net did i help you? consider a gift: http://wishlist.nohn.net/ pgp/gpg encrypted mail welcome: http://nohn.net/pubkey.asc
php::bar PHP Wiki - Listenarchive