berti: verflixte variablen

Abend, Leute!

Mich nervt schon seit langem so 'n scheiss Fehler in meinen Variablen.
Ich hab folgenden Code:
(in einer vorhergehenden schleife:
$allspalten = "$allspalten;$spalten";

(zu diesem Zeitpunkt sieht $allspalten so aus: "; wert1; wert2")

$name = trim($allspalten);
$allspaltenend=explode(";",$name);
for($x=0;$x<count($allspaltenend);$x++){
  $test = $allspaltenend[$x];
  print"<span class='title2'>» $title</span><br>";
}

nun entstht folgende ausgabe:
»
» grp1
» grp3

wie bekommt ich nun den leeren eintrag am anfang weg???

danke,
euer berti

  1. Hello,

    nun entstht folgende ausgabe:
    »
    » grp1
    » grp3

    wie bekommt ich nun den leeren eintrag am anfang weg???

    Na, woran hast Du denn bemerkt, dass er dich stört?

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
      Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
      Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. hehe, ooops, sorry!

      am - für dieses forum - extrem schlecht gewählten aufzählungszeichen
      "»"..

      ;))

      lg,
      berti

      1. Hello,

        am - für dieses forum - extrem schlecht gewählten aufzählungszeichen
        "»"..

        ;))

        Also hat dich das Quote-Zeichen gestört, nicht das, was im (leeren) Element drinstand? Formulier das doch nochmal bitte: Welche Elemente dürfen denn angezeigt werden, und welche nicht?

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
          Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
          Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        1. also, ich nehm mal andere aufzaehlungszeichen:

          die ausgabe ist im moment so:

          infotextblabla

          • wert1
          • wert2

          solte aber so sein:
          infotextblabla

          • wert1
          • wert2

          isses so besser?

          lg,
          berti

          1. Hello,

            die ausgabe ist im moment so:

            infotextblabla

            • wert1
            • wert2

            solte aber so sein:
            infotextblabla

            • wert1
            • wert2

            isses so besser?

            Nochmal mit Buntstiften und ganz langsam:
            Du sollst mir mal verbal erzählen, wann Du eine Variable angezeigt haben möchtest und wann nicht, und bitte in einem ganzen Satz!

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
              Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
              Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            1. hi du!

              ich versuchs mal:

              ich hab mallfolgende schleifenkonstruktion gemacht:
              $name = trim($allspalten);
              $allspaltenend=explode(";",$name);
              for($x=0;$x<count($allspaltenend);$x++){
                $test = $allspaltenend[$x];
                $title = str_replace("grp_", "", $test);
                print"<span class='title2'>- $title</span><br>";
              }

              hierzu ist aber interessant, dass die variable $allspalten zu diesem zeitpunkt den inhalt ";grp_grp2;grp_grp3" hat.

              die ausgabe der obigen schleife sieht nun so aus:

              -wer2
              -wert3

              in einer auflistung sieht das natürlich doof aus, wenn der erste eintrag einfach leer ist.
              deshalb möchte ich das irgendwie so machen, dass der erste wert in $allspalten, der quasi leer ist, und die leere aufzählung "- " durch die schleife erzeugt, entfernt wird...

              verstehst du was ich meine?

              1. Hello,

                -wer2
                -wert3

                in einer auflistung sieht das natürlich doof aus, wenn der erste eintrag einfach leer ist.
                deshalb möchte ich das irgendwie so machen, dass der erste wert in $allspalten, der quasi leer ist, und die leere aufzählung "- " durch die schleife erzeugt, entfernt wird...

                verstehst du was ich meine?

                Verstanden habe ICH das schon die ganze Zeit. Aber DU solltest das mal im Klartext formulieren. Siehr ja schon ganz gut aus. Ich fasse nochmal zusammen:

                Die Schleife soll alle Werte des Arrays behandeln
                    Wenn aber ein Wert leer ist, soll er nicht ausgegeben werden
                    sonst darf er ausgegeben werden
                  Ende der Schleife

                oder anders herum:

                Die Schleife soll alle Werte des Arrays behandeln
                    Wenn ein Wert gefüllt ist, soll er ausgegeben werden
                    sonst darf er nicht ausgegeben werden
                  Ende der Schleife

                Soetwas nennt man Pseudocode.
                Daraus kannst Du nun in NullkommaNix einen Programmcode erzeugen.

                Noch ein Tipp:

                benutze nicht diese Zählerkontruktionen bei PHP-Arrays. Das kann in die Hose gehen. Benutze dafür die Spezialschleife foreach() http://de3.php.net/manual/de/control-structures.foreach.php

                Das ist erstens schneller und kennt Anfang und Ende der Elementekette des "Arrays" alleine, vergisst auch kein Element.

                foreach($allspaltenend as $element)
                {
                  # hier die Entscheidung einfügen für $element
                  #
                  #
                }

                Liebe Grüße aus http://www.braunschweig.de

                Tom

                --
                [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
                  Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
                  Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                1. hi !

                  wow! danke für diese super einschulung!
                  ich habe heute erst gelernt, wieviel zeit ich mir spare, wenn ich im vorfeld ganz genau definiere, was genau der nun zu bearbeitende code können muss...

                  da passt deine kleine einführung hier genau in meinen lernprozess!!

                  vielen, vielen dank,
                  berti

                  1. Hello,

                    vielen, vielen dank,
                    berti

                    Muss ich meinen <I>-Detector einschalten oder hat es wirklich geholfen?

                    Liebe Grüße aus http://www.braunschweig.de

                    Tom

                    --
                    [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
                      Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
                      Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    1. nein, ich mein das wirklich ernst, das hats voll gebracht!

                      ich bin nur ehrlich gewesen...

                      1. Hello,

                        nein, ich mein das wirklich ernst, das hats voll gebracht!

                        ich bin nur ehrlich gewesen...

                        Dann wünsche ich Dir weiterhin viel Erfolg und Gute Nacht. Du wolltest Doch ins Bett gehen, oder?

                        Liebe Grüße aus http://www.braunschweig.de

                        Tom

                        --
                        [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
                          Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
                          Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
                        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              2. in einer auflistung sieht das natürlich doof aus, wenn der erste eintrag einfach leer ist.
                deshalb möchte ich das irgendwie so machen, dass der erste wert in $allspalten, der quasi leer ist, und die leere aufzählung "- " durch die schleife erzeugt, entfernt wird...

                Wenn der erste immer leer ist (warum eigentlich?!), hilft ein einfaches ändern der Schleife in:
                for($x=1;$x<count($allspaltenend);$x++) // $x=1

                ... oder schau, ob in $allspaltenend[$x] überhaupt etwas drinne ist:

                for( $x=0; $x<count ($allspaltenend); $x++ ){
                  if ( emtpy ( $allspaltenend[$x] ) )
                     continue;
                  $test = $allspaltenend[$x];
                  $title = str_replace("grp_", "", $test);
                  print"<span class='title2'>- $title</span><br>";
                }

                --
                dies ist keine signatur
                1. hi !

                  genial!!!! $x=1 is die lösung, ich glaub ich sollte für heute besser schluss machen... ;)

                  danke für die hilfe,
                  berti

                2. Hello hitch,

                  ich habe da eine Bitte an Dich:

                  Wenn du das nächste Mal siehst, dass ich hier mit einem Poster einen mehrfachen Dialog in der Art dieses Threads angefangen habe, und Fragen stelle, dann warte bitte solange, bis ein Ergebnis vorhanden ist.

                  Es war sicher lieb gemeint, dass Du die Lösung sooo kurz vorm Schluss einfach mal "ins Quiz" hineingerufen hast, aber Du hast Berti dadurch die Möglichkeit genommen, selber die Punkte für die Erkenntnis zu bekommen. Das ist schade. Man lernt nämlich am meisten von seinen eigenen Erfolgs- oder Misserfolgserlebnissen.

                  Und dieses Frage-und-Antwort-Spiel kann man auch ganz alleine mit sich selbst spielen. Das hilft auch manchmal, einen Fehler oder eine Lösung zu finden.

                  Liebe Grüße aus http://www.braunschweig.de

                  Tom

                  --
                  [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
                    Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
                    Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  1. Hello hitch,

                    ich habe da eine Bitte an Dich:

                    Wenn du das nächste Mal siehst, dass ich hier mit einem Poster einen mehrfachen Dialog in der Art dieses Threads angefangen habe, und Fragen stelle, dann warte bitte solange, bis ein Ergebnis vorhanden ist.

                    Es war sicher lieb gemeint, dass Du die Lösung sooo kurz vorm Schluss einfach mal "ins Quiz" hineingerufen hast, aber Du hast Berti dadurch die Möglichkeit genommen, selber die Punkte für die Erkenntnis zu bekommen. Das ist schade. Man lernt nämlich am meisten von seinen eigenen Erfolgs- oder Misserfolgserlebnissen.

                    Und dieses Frage-und-Antwort-Spiel kann man auch ganz alleine mit sich selbst spielen. Das hilft auch manchmal, einen Fehler oder eine Lösung zu finden.

                    Es tut mir ja leid, daß ich in deine erzieherischen Bemühungen eingegriffen habe, aber imho ist das Forum ein nicht ganz passender Ort dafür, den Menschen das beizubringen, was sie anscheinend in der Schule mühevoll nicht gelernt haben ( Informationverwertung und eigenständiges Denken ).

                    Ein kurzes Frage-Antwort-Spiel mit überheblichem Unterton ist zwar hier und da interessant und kann dem eigenen Ego ein wenig schmeicheln, genauso kann es aber auch ermüden (und damit ist nicht nur der Server-Trafic gemeint ;)). Ich war mir auch deiner Reputation hier im Forum nicht bewußt (es sah offensichtlich so aus, daß du Schwierigkeiten hast das hier besprochene Problem zu verstehen). Noch weniger war mir bekannt, daß es in diesem -anscheinend- pseudo-öffentlichen Forum nicht erwünscht ist, Beiträge in bereits laufende Diskussionen einzubringen.

                    Aber ich lerne ja noch ;)

                    --
                    dies ist keine signatur
                    1. Hello hitch,

                      Es tut mir ja leid,

                      das ist gut.

                      daß ich in deine erzieherischen Bemühungen eingegriffen habe,

                      Mit Erziehung hatte das nichts zu tun, sondern mit Problemlösung

                      aber imho ist das Forum ein nicht ganz passender Ort dafür, den Menschen das beizubringen, was sie anscheinend in der Schule mühevoll nicht gelernt haben ( Informationverwertung und eigenständiges Denken ).

                      Doch, dafür ist es sogar gedacht. Es ist nämlich ein SELF-forum und kein "sag mir die Lösung"-Forum. Dass es manchmal besser sein kann, kleinere oder größere Lösungen direkt zu geben, sei dahingestellt. In der Regel wird hier aber mehr Wert auf Hinweise zum LösungsWEG, und wie man den findet, gelegt.

                      Ein kurzes Frage-Antwort-Spiel mit überheblichem Unterton ist zwar hier und da interessant und kann dem eigenen Ego ein wenig schmeicheln,

                      Meinst Du mich jetzt damit?

                      genauso kann es aber auch ermüden (und damit ist nicht nur der Server-Trafic gemeint ;)).

                      Die paar Sätze killen den Server nicht.

                      Ich war mir auch deiner Reputation hier im Forum nicht bewußt (es sah offensichtlich so aus, daß du Schwierigkeiten hast das hier besprochene Problem zu verstehen).

                      Wenn Du den Thread von vorne bis hinten aufmerksam verfolgt hättest, hättest Du bemerken können, dass berti und ich uns in unserem Verständnis Stück für Stück genähert haben, und ich die Fragen gestellt habe, auf die er bereitwillig geantwortet hat. So unsensibel kannst Du eigentlich nicht sein. ;-)

                      Noch weniger war mir bekannt, daß es in diesem -anscheinend- pseudo-öffentlichen Forum nicht erwünscht ist, Beiträge in bereits laufende Diskussionen einzubringen.

                      Es ist meine Bitte an Dich, nicht mit der Lösung hreinzuplatzen, kurz bevor der OP sie selber formuliert. Im Anschluss (das hätte ja eben nur noch 1 Minute gedauert) hättest Du uns Deine gesamten PHP-Kenntnisse in strukturierter Form darbieten können.

                      Aber ich lerne ja noch ;)

                      Das will ich hoffen.

                      Ich habe hier auch durch solche Frage-und-Antwort-Threads gelernt, vielleicht auf einer etwas höheren Ebene, aber auch durch geduldiges Pingpong mit einem, der wußte, wie es geht.

                      Das heißt immer noch nicht, dass es nicht doch manchmal sinnvoller ist, einem Fortgeschrittenen eine Musterlösung zu geben. Der schaut sich das dann aber auch kritisch an und gibt ggf. sogar noch Verbesserungsvorschläge zurück.

                      Liebe Grüße aus http://www.braunschweig.de

                      Tom

                      --
                      [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
                        Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
                        Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
                      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                      1. daß ich in deine erzieherischen Bemühungen eingegriffen habe,

                        Mit Erziehung hatte das nichts zu tun, sondern mit Problemlösung

                        Das war aber Problemlösung mit pädagogisch erprobten System. :)

                        aber imho ist das Forum ein nicht ganz passender Ort dafür, den Menschen das beizubringen, was sie anscheinend in der Schule mühevoll nicht gelernt haben ( Informationverwertung und eigenständiges Denken ).

                        Doch, dafür ist es sogar gedacht.

                        Achso.

                        Es ist nämlich ein SELF-forum und kein "sag mir die Lösung"-Forum. Dass es manchmal besser sein kann, kleinere oder größere Lösungen direkt zu geben, sei dahingestellt. In der Regel wird hier aber mehr Wert auf Hinweise zum LösungsWEG, und wie man den findet, gelegt.

                        Das ist ja schön und gut. Mir kam mir bis zu meinem Beitrag eher wie ein "wir reden um den heißen Brei rum"-Forum vor. War allerdings wohl mein Fehler.

                        Ein kurzes Frage-Antwort-Spiel mit überheblichem Unterton ist zwar hier und da interessant und kann dem eigenen Ego ein wenig schmeicheln,

                        Meinst Du mich jetzt damit?

                        Meinte ich allgemein.

                        genauso kann es aber auch ermüden (und damit ist nicht nur der Server-Trafic gemeint ;)).

                        Die paar Sätze killen den Server nicht.

                        Es ist ja auch immer die Menge die zählt.

                        Wenn Du den Thread von vorne bis hinten aufmerksam verfolgt hättest, hättest Du bemerken können, dass berti und ich uns in unserem Verständnis Stück für Stück genähert haben, und ich die Fragen gestellt habe, auf die er bereitwillig geantwortet hat.

                        Richtig. Schrieb ich doch schon.

                        So unsensibel kannst Du eigentlich nicht sein. ;-)

                        Ne. Ich habe z.B. bei Winntou 3 geweint. :-)

                        Noch weniger war mir bekannt, daß es in diesem -anscheinend- pseudo-öffentlichen Forum nicht erwünscht ist, Beiträge in bereits laufende Diskussionen einzubringen.

                        Es ist meine Bitte an Dich, nicht mit der Lösung hreinzuplatzen, kurz bevor der OP sie selber formuliert. Im Anschluss (das hätte ja eben nur noch 1 Minute gedauert) hättest Du uns Deine gesamten PHP-Kenntnisse in strukturierter Form darbieten können.

                        Das würde ja dann gar nicht sooo lange dauern. :(

                        Ich habe hier auch durch solche Frage-und-Antwort-Threads gelernt, vielleicht auf einer etwas höheren Ebene, aber auch durch geduldiges Pingpong mit einem, der wußte, wie es geht.

                        Das heißt immer noch nicht, dass es nicht doch manchmal sinnvoller ist, einem Fortgeschrittenen eine Musterlösung zu geben. Der schaut sich das dann aber auch kritisch an und gibt ggf. sogar noch Verbesserungsvorschläge zurück.

                        Die Vorgehensweise ist ja schön und gut. Werde mich dann demnächst zurückhalten und erst den didaktisch sinnvolleren Weg abwarten.

                        Gruß

                        --
                        dies ist keine signatur
                        1. Hello,

                          Ein kurzes Frage-Antwort-Spiel mit überheblichem Unterton ist zwar hier und da interessant und kann dem eigenen Ego ein wenig schmeicheln,

                          Meinst Du mich jetzt damit?
                          Meinte ich allgemein.

                          Feigling!

                          Es ist meine Bitte an Dich, nicht mit der Lösung hreinzuplatzen, kurz bevor der OP sie selber formuliert. Im Anschluss (das hätte ja eben nur noch 1 Minute gedauert) hättest Du uns Deine gesamten PHP-Kenntnisse in strukturierter Form darbieten können.

                          Das würde ja dann gar nicht sooo lange dauern. :(

                          Die Vorgehensweise ist ja schön und gut. Werde mich dann demnächst zurückhalten und erst den didaktisch sinnvolleren Weg abwarten.

                          Ich habe nicht gesagt, dass Du dich raushalten sollst. Dafür ist es ein Forum und kein Chat. Ich habe Dich nur gebeten, nicht wieder mit der Lösung reinzuplatzen, wenn der OriginalPoster sie gereade selber entdeckt.

                          Liebe Grüße aus http://www.braunschweig.de

                          Tom

                          --
                          [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
                            Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
                            Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
                          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                          1. Hallo!

                            Ein kurzes Frage-Antwort-Spiel mit überheblichem Unterton ist zwar hier und da interessant und kann dem eigenen Ego ein wenig schmeicheln,

                            Meinst Du mich jetzt damit?
                            Meinte ich allgemein.

                            Feigling!

                            rofl - Psychologie nach Mitternacht!

                            Beste Grüße
                            Viennamade

                            1. Es macht Spaß, Eurer völlig sinnolosen Diskussion zu folgen...

                              Aber kümmert Euch doch besser um den offensichlich mangelnden Schlaf - Ihr Beide. Streithähne :-)

                              Schlaft gut :-)

                              grüße aus dem Norden

                              Till

                              1. Hello,

                                Es macht Spaß, Eurer völlig sinnolosen Diskussion zu folgen...

                                Aber kümmert Euch doch besser um den offensichlich mangelnden Schlaf - Ihr Beide. Streithähne :-)

                                Hä?

                                Liebe Grüße aus http://www.braunschweig.de

                                Tom

                                --
                                [ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,   Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre   Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ] Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                          2. Meinst Du mich jetzt damit?
                            Meinte ich allgemein.

                            Feigling!

                            ... und dich im besonderen.
                            War ja auch kaum zu überlesen.  So unsensibel kannst Du eigentlich nicht sein.

                            --
                            dies ist keine signatur
  2. wie bekommt ich nun den leeren eintrag am anfang weg???

    Bau dir doch schon beim Einlesen(?) bzw. beim Zusammenstellen einen (1.) Array mit (2.) korrekten Werten auf.
    In der von dir angesprochenen Schleife also z.B. ein

    if ( $spalte )
       push ( $spalte, $allspalten );

    ... und dann später mit

    foreach ( $allspalten as $spalte )
        print "<span class="title2">» ". $spalte ."</span><br>\n";

    Es ist immer gut für die Performance und Übersicht, unnötiges hin und her konvertieren der Daten zu verhindern.

    --
    dies ist keine signatur