List :-(

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

  • List :-(

    Hallo,

    ich habe da mal ein ganz banale Frage.

    Warum funktioniert das...
    PHP-Code:
    $info = array('Kaffee''braun''Koffein');

    // Auflisten aller Variablen
    list($drink$color$power) = $info;
    echo 
    "$drink ist $color und $power macht es zu etwas besonderem.\n"
    Aber nicht das...
    PHP-Code:
    $info = array('Kaffee''braun''Koffein');
    $variblen "$drink$color$power";
    // Auflisten aller Variablen
    list($variablen) = $info;
    echo 
    "$drink ist $color und $power macht es zu etwas besonderem.\n"
    Vielen Dank an den, der mir schreibt, wie es mit dem 2. Beispiel funktionieren kann.

    Frohe Ostern!

    Gruß, Tiese

  • #2
    Beim ersten schreibst du 3 Variablen, beim zweiten nur 1 Variable, die ein String enthält.

    var_dump($variablen);

    Kommentar


    • #3
      Wow, vielen Dank für die super schnelle Antwort!

      Nur leider löst das mein Problem nicht :-(

      Ich habe folgenden String vorliegen...
      PHP-Code:
      $variblen "$drink$color$power"
      Da dieser sich aber auch ändern kann (Länge und Benennung), möchte ich nicht ständig das...
      PHP-Code:
      list($drink$color$power) = $info
      ändern müssen.

      Kann man es irgendwie anstellen, dass der String automatisch in List eingebunden wird?

      Vielen lieben Dank für Eure Hilfe.

      Gruß, Tiese

      Kommentar


      • #4
        PHP-Code:
        $info = array('drink' => 'Kaffee''color' => 'braun''power' => 'Koffein');
        extract($info);
        echo 
        "$drink ist $color und $power macht es zu etwas besonderem.\n"
        Ich würde an deiner Stelle lieber direkt mit dem Array arbeiten. Es macht fast nie einen Sinn alle Werte aus einem Array in eigene Variablen zu stopfen.

        PHP-Code:
        $info = array('drink' => 'Kaffee''color' => 'braun''power' => 'Koffein');
        echo 
        $info['drink'] . " ist " $info['color'] . " und " $info['power'] . " macht es zu etwas besonderem.\n"
        PHP-Code:
        $info = array('drink' => 'Kaffee''color' => 'braun''power' => 'Koffein');
        printf("%s ist %s und %s macht es zu etwas besonderem.\n"$info['drink'], $info['color'], $info['power']); 
        PHP-Code:
        $info = array('Kaffee''braun''Koffein');
        vprintf("%s ist %s und %s macht es zu etwas besonderem.\n"$info); 
        Zuletzt geändert von h3ll; 10.04.2009, 11:53.

        Kommentar


        • #5
          Original geschrieben von Tiese
          Ich habe folgenden String vorliegen...
          PHP-Code:
          $variblen "$drink$color$power"
          Da dieser sich aber auch ändern kann (Länge und Benennung), möchte ich nicht ständig das...
          PHP-Code:
          list($drink$color$power) = $info
          ändern müssen.
          Ich verstehe deine Vorgehensweise (und damit dein Problem) nicht: Wieso fügst du erst drei Variablen (in einem String) zusammen, um sie anschließend wieder exakt in der gleichen Form daraus extrahieren zu wollen?

          Kann man es irgendwie anstellen, dass der String automatisch in List eingebunden wird?
          Du hast anscheinend eine etwas verworrende Vorstellung, was list() macht, was ein Array und was ein String ist.

          Auch kann explode() dir möglicherweise weiterhelfen.
          Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

          Kommentar


          • #6
            Danke für Eure Hilfe!

            Mein eigentliches Problem ist, dass ich folgendes von einem anderen Server bekomme...
            Code:
            <id>1</id><kunden_id>12345</kunden_id><brief_des></brief_des>
            <rate_id>2</rate_id><account>5</account><c>0</c><nd>04</nd>
            <sn>493</sn><dd></dd><nation>0</nation><pre>1</pre>
            <ratemodel_name>Test</ratemodel_name><feature_group_id>62</feature_group_id>
            <rate_announcement>1</rate_announcement><e_announcement>2</e_announcement>
            <e_tree>listing</e_tree><fall>0</fall><level>0</level><error>0</error>
            <cli>0</cli><timeout>100</timeout><active>1</active><parallel>1</parallel>
            <ip_filter></ip_filter><busy>0</busy><quality></quality>
            Jetzt möchte ich eigentlich nur, dass ich mit $id den Wert 1 erhalte, mit $kunden_id den Wert 12345 erhalte, usw.

            Ist das irgendwie möglich?

            Hier mein Ansatz...
            PHP-Code:
            preg_match_all("|<[^>]+>(.*)</[^>]+>|U",$daten_vom_Server$inhaltPREG_PATTERN_ORDER);
            preg_match_all("|<([^>]+)>.*</[^>]+>|U",$daten_vom_Server$benennungPREG_PATTERN_ORDER); 
            Nun wollte ich eigentlich nur den $inhalt mit der entsprechenden $benennung mit list(); kombinieren.
            So kann ich mit den Variablen mit $benennung arbeiten.

            Danke für Eure Hilfe.

            Gruß, Tiese

            Kommentar


            • #7
              Vermutlich soll das ein Template Engine o.ä. werden....

              Edit:
              Ne, doch nicht.
              Also ein xml Parser.....

              Dann verwende doch auch einen...
              http://de.php.net/manual/de/refs.xml.php
              Zuletzt geändert von combie; 10.04.2009, 12:49.
              Wir werden alle sterben

              Kommentar

              Lädt...
              X