Ankündigung

Einklappen
Keine Ankündigung bisher.

Gruppenbruch (Standardverfahren)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gruppenbruch (Standardverfahren)

    Diskussionsbeitrag zum Wiki Eintrag: Gruppenbruch (Standardverfahren).

    Die Diskussionsplattform des PHP.de Wiki wurde ins Forum integriert. Durch Klicken des Buttons "Antwort" kannst du an diesem Thema teilnehmen.
    Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

  • #2
    Gruppenbruch (Standardverfahren)

    Mir ist der Ausdruck Gruppenwechsel geläufiger, welcher ja im Wiki ebenfalls genannt wird. Vielleicht kann man den in diesen Threadtitel mit einbauen.

    Im Array-Beispiel ist die Variable $last_character unglücklich gewählt. Gemeint ist ja nicht der letzte Buchstabe, sondern der letzte Anfangsbuchstabe.

    Das, was ich eigentlich erwartet habe vorzufinden (SELECT ... GROUP BY ... ORDER BY ...) fehlt vollkommen.
    [PHP]if ($var != 0) {
    $var = 0;
    }[/PHP]

    Kommentar


    • #3
      ich finds gut gemacht.
      Ein Hinweis auf usort bei der Arraylösung wär vielleicht noch angebracht.
      Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

      Kommentar


      • #4
        Danke für den Hinweis. Baue ich mal ein.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          So, ich habe den Thread mal kopiert, sodass er eine andere ID bekommen hat. Hoffentlich hört die Spamwelle für diesen Thread damit auf. Den alten Thread habe ich geschlossen und gelöscht.
          Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

          Kommentar


          • #6
            das hier ist auch falsch:
            PHP-Code:
            // Elemente durchlaufen
            foreach ($array as $entry) {
                
            $character $entry[0];
             
                
            // Gruppenbruch, neuer Anfangsbuchstabe
                
            if ($last_character != $character) {
                    echo 
            'Buchstabe: ' $character '<br />';
                }
                echo 
            '  ' $entry '<br />';
             
                
            // neuen Vergleichswert setzen
                
            $last_character $character;
                } 
            müßte wohl so sein:
            PHP-Code:
            $last_character '';

            foreach (
            $array as $entry) {
             
                
            // Gruppenbruch, neuer Anfangsbuchstabe
                
            if ($last_character != $entry[0]) {
                    echo 
            'Buchstabe: ' $entry[0] . '<br />';
                    
            // neuen Vergleichswert setzen
                   
            $last_character $entry[0]; // !!! an dieser Stelle und nicht außerhalb der if-Abfrage
                
            }
                echo 
            '  ' $entry '<br />';
              

            Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

            Kommentar


            • #7
              Naja, es funktioniert beides. Ist allenfalls ne Performancefrage.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #8
                Soll ich sowas in den Artikel hinzufügen? Also nicht genau dieses Beispiel, nur die Methode. Ich halte sie für extrem elegant und hilfreich (und wenig bekannt).

                PHP-Code:
                <?php

                $a 
                = array (
                    array(
                'date' => '2009-06-11''title' => 'Alf'),
                    array(
                'date' => '2009-06-11''title' => 'Bibi Blocksberg'),
                    array(
                'date' => '2010-07-02''title' => 'Bibo'),
                    array(
                'date' => '2010-07-02''title' => 'Biene Maja'),
                    array(
                'date' => '2010-03-28''title' => 'Peter Pan'),
                    array(
                'date' => '2010-02-15''title' => 'Urmel aus dem Eis'),
                );

                // Nach Datum sortieren
                usort($a, function($v$w) {
                    return 
                strcmp($w['date'], $v['date']);
                });

                // Nach Jahr, Monat und Tag gruppieren
                $new array_reduce($a, function($newArray$tmp) {
                    list(
                $y$m$d) = sscanf($tmp['date'], '%d-%d-%d');
                    
                $newArray[$y][$m][$d][] = $tmp['title'];
                    return 
                $newArray;
                }, array());

                print_r($new);

                Kommentar


                • #9
                  Aufgrund von Verständnisproblemen überarbeite ich den Artikel in naher Zukunft. Habe bereits einen Vorschlag, werde ihn diese Woche fertig schreiben (sind schon 7 Seiten, seeehr ausführlich) und euch vorlegen. Wers dann nicht kapiert hat sich vielleicht doch den falschen Beruf ausgesucht.
                  "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

                  Kommentar


                  • #10
                    Cool, wir sind gespannt.
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #11
                      Kann die Datei nicht anhängen da *.docx, bzw. *.doc > 19,5 KB. Kann man die Werte irgendwie anpassen? Hier den Text reinposten ist unübersichtlich
                      "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

                      Kommentar


                      • #12
                        Mach ne RTF-Datei draus, sollte kleiner sein. Ansonsten schreib's doch direkt ins Wiki. Im Notfall stellen wir eine alte Version wieder her.
                        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                        Kommentar


                        • #13
                          Ne, ist 3x so groß wie die DOCX, Plaintext isses schon 11 KB Egal, is auch noch nicht spruchreif und wenn möchte ich euch gegenlesen lassen, da der Ansatz nicht unbedingt wissenschaftlich / professionell ist, sondern für Anfänger einfach verständlich sein soll.
                          "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

                          Kommentar


                          • #14
                            Gut, stimmt, ist immerhin Plain-Text, Doc is Binärformat.
                            Dann lade es auf einen FTP. Wenn du keinen hast, richte ich dir bei mir temporär einen Account ein.
                            Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                            Kommentar


                            • #15
                              Na hoffentlich traut sich ein Noob überhaupt an einen so umfangreichen Artikel heran.
                              [COLOR="#F5F5FF"]--[/COLOR]
                              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                              [COLOR="#F5F5FF"]
                              --[/COLOR]

                              Kommentar

                              Lädt...
                              X