String im String?

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

  • String im String?

    Hallo zusammen!
    Hab ein kleines Problem und zwar will ich innerhalb eines Strings Daten aus einem anderen String einlesen und mit echo ausgeben (hab das Script mal vereinfacht, weils ja nur um was Grundlegendes geht).
    So siehts aus:
    PHP-Code:
    <?PHP
    $test_daten
    [1] = "HALLO";
    $test_daten[2] = "TSCHÜSS";
    $test_anzahlmeldungen "2";

    for(
    $num "0"$num<$test_anzahlmeldungen$num++){
    echo 
    $test_daten[$num];
    }
    ?>
    Eigentlich möchte ich, dass nach Ausführen der Schleife "HALLO" und "TSCHÜSS" ausgegeben wird, aber leider wird der verschachtelte String nicht erkannt und korrekt ausgewertet.
    Wie lässt sich das Problem lösen?

    Vielen Dank im Voraus,
    Ben

  • #2
    PHP-Code:
    $test_daten[1] = "HALLO";
    $test_daten[2] = "TSCHÜSS";
    $string='';
    foreach(
    $test_daten as $val) {
    if(
    $string=='') {
    $string $val;
    }
    else {
    $string .= ' und ' $val;

    und sowas hier ist verboten
    PHP-Code:
    $test_anzahlmeldungen "2"
    wenn denn
    PHP-Code:
    $test_anzahlmeldungen 2
    integer ist integer und nicht halb string halb integer...

    edit: war nen fehler drin
    Zuletzt geändert von Proggy; 27.04.2006, 18:00.

    Kommentar


    • #3
      Re: String im String?

      Original geschrieben von sunworker

      PHP-Code:
      <?PHP

      for($num "0"$num<$test_anzahlmeldungen$num++){
      echo 
      $test_daten[$num];
      }
      ?>
      Du weißt aber schon wie for-Schleifen funktionieren, oder? Wie kannst Du annehmen, das $num irgend wann mal kleiner oder größer als $test_anzahlmeldungen ist ! In deinem Fall enthalten beide Variablen enthalten Strings und keinen numerischen Wert!

      Kommentar


      • #4
        Ignorier einfach was Grünspan geschrieben hat.

        Kommentar


        • #5
          Original geschrieben von Alrik
          Ignorier einfach was Grünspan geschrieben hat.
          Er hat lediglich die automatische Typkonvertierung nicht berücksichtigt, durch die dieser Unfug auch so funktioniert.

          Daran, dass es grober Unfug ist und bleibt, Zahlwerte als Strings zu notieren, ändert das aber nicht das geringste.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            ich glaub ich habs hinbekommen xD
            ... war ein fehler an noch ner anderen stelle - sollte noch was sein greife ich aber gerne auf euch zurück

            vielen dank trotzdem,
            euer sunworker

            Kommentar


            • #7
              Original geschrieben von Alrik
              Ignorier einfach was Grünspan geschrieben hat.
              Nach meinem Verständnis funktioniert eine for-Schleife folgender Maßen:[list=1][*]$wert wird gesetzt (z.B 1)[*]$wert wird geprüft (ob >; < od. = $anderer_wert)[*]$wert wird zu sich selbst addiert[/list=1]
              das ganze läuft dann so oft durch, bis die Bedingung in 2. erfüllt ist. Danach ist die Schleife beendet.
              Wenn ich aber jetzt in $wert einen String speichere (z.B. "0") und diesen dann mit $anderer_wert , der bspw. den String "HALLO" enthält, vergleiche ob er größer oder kleiner ist, dann kann doch nix bei rauskommen. Meines Wissens kann man Strings nur mit === oder !== vergleichen.
              Ich bitte aber um Aufklärung, sollte ich da etwas falsch verstanden haben.

              Kommentar


              • #8
                Original geschrieben von gruenspan
                Wenn ich aber jetzt in $wert einen String speichere (z.B. "0") und diesen dann mit $anderer_wert , der bspw. den String "HALLO" enthält, vergleiche ob er größer oder kleiner ist, dann kann doch nix bei rauskommen. Meines Wissens [...]
                Lesen bildet.

                http://www.php.net/manual/de/languag...e-juggling.php
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von gruenspan
                  Meines Wissens kann man Strings nur mit === oder !== vergleichen.
                  Und wiedereinmal liege ich auf Knien und danke Gott das ich nicht Dein Wissen besitze ... !

                  === und !== berücksichtigen beim Vergleich lediglich noch den Type der zu vergleichenden Werte "0" === 0 ist also ungleich während "0" == 0 durchaus gleich ist ... !
                  carpe noctem

                  [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                  [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                  Kommentar


                  • #10
                    Original geschrieben von goth
                    Und wiedereinmal liege ich auf Knien und danke Gott das ich nicht Dein Wissen besitze ... !
                    wo hat er nur immer die super
                    sprüche her?!! *auf der erde roll*

                    Computernotdienst Eisleben
                    Softwarelösung für Rechtsanwälte und Notare

                    Kommentar


                    • #11
                      Re: String im String?

                      PHP-Code:
                      <?PHP
                      $test_daten
                      [1] = "HALLO";
                      $test_daten[2] = "TSCHÜSS";
                      $test_anzahlmeldungen "2";

                      for(
                      $num "0"$num<$test_anzahlmeldungen$num++){
                      echo 
                      $test_daten[$num];
                      }
                      ?>
                      PHP-Code:
                      <?PHP
                      $test_daten
                      [1] = "HALLO";
                      $test_daten[2] = "TSCHÜSS";

                      for(
                      $num 0$num<count($test_daten); $num++){
                      echo 
                      $test_daten[$num];
                      }
                      ?>

                      Kommentar


                      • #12
                        Original geschrieben von gruenspan
                        Nach meinem Verständnis funktioniert eine for-Schleife folgender Maßen:[list=1][*]$wert wird gesetzt (z.B 1)[*]$wert wird geprüft (ob >; < od. = $anderer_wert)[*]$wert wird zu sich selbst addiert[/list=1]
                        <haarspalterei>

                        Das ist die häufigste benutzung, aber das for-konstrukt ist
                        keineswegs so definiert. Man kann in den einzelnen blöcken
                        fast beliebige ausdrücke schreiben. Ausnahme sind kontrollstrukturen.
                        Vereinfacht kann man also schreiben.

                        for(machwas genau 1 mal;breche ab wenn ich wahr werde;mach irgendwas anderes)

                        For ist also eine kopfgesteuerte schleife mit initialisierung an die ein closure gebunden wird.

                        Das äquivalent wäre:
                        PHP-Code:
                        $i=0//initialisierung
                        while($bedingung != true){ //abbruchbedingung
                            
                        ctrl_loop(); //mach was um die schleife zu kontrollieren, kann auch was völlig anderes machen
                            
                        do_work(); //mach die eigentliche aufgabe (closure)

                        </haarspalterei>

                        greets
                        (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                        Kommentar

                        Lädt...
                        X