xml perser - problem mit array

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

  • xml perser - problem mit array

    hallo leute, versuche mich das erstemal an OOP.
    und schon hab ich probleme

    also ich poste mal nur einen auszug vom code der interessant seien dürfte.

    Problem: das objekt legt keinen neuen datensatz im array an,
    ich hab immer nur einen datensatz im array.

    PHP-Code:
    class xml_parser
    {
    var 
    $xml_gesamt;
    var 
    $xml_data = array();

    ...

    // XML add
    function add$item ,$key$wert)
    {
        
    $this->$xml_data[$item][$key] = $wert;
        
    // test...  hier sollten doch jetzt mehrere datensätze erstellt werden ?

                    
    $this->$xml_data[1][$key] = $wert;
        
    $this->$xml_data[2][$key] = $wert;
        
    $this->$xml_data[3][$key] = $wert;
        echo 
    count($this->$xml_data);
    }

    // XML out
    function out$item ,$key)
    {
        return 
    $this->$xml_data[$item][$key];
    }
    }

    $xml = new xml_parser;

    $xml->add(8,"schluessel","acht");
    $xml->add(7,"schluessel","sieben");
    $xml->add(4,"schluessel","vier");
    $xml->add(3,"schluessel","drei");


    echo 
    $xml->out(8,"schluessel");
    echo 
    $xml->out(7,"schluessel");
    echo 
    $xml->out(4,"schluessel");
    echo 
    $xml->out(3,"schluessel"); 
    PS: vielleicht sollte ich noch sagen das ich sonst nicht mit assoziativen arrays arbeite. mir sind zahlen sonst lieber aber für den parser ist es von vorteil. ist es den möglich $array[0]['zeichenkette'] zu benutzen ?

    wo liegt mein fehler ?
    ich bin unschuldig...
    Zuletzt geändert von bo2k; 06.05.2003, 06:22.

  • #2
    Re: xml perser - problem mit array

    immer diese probleme mit den ausländern...

    *SCNR*




    [nein, das ist jetzt nicht 'rechts' gemeint, aber bei dem 'perser' konnte ich mir das nicht verkneifen...]
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      schönen dank, das hilft mir jetzt auch nicht gerade weiter...

      ...
      so habs extra für dich geändert!
      bekomme ich jetzt eine antwort ?
      Zuletzt geändert von bo2k; 06.05.2003, 06:23.

      Kommentar


      • #4
        ich bin mir nicht ganz sicher:

        aber einmal verwendest du im ersten Index einen String ($item) und dann Zahlen.

        Ich hab das noch nie ausprobiert, aber mein erster Gedanke ist: das kann nicht gutgehn.

        Grüzze
        cb
        Hans Matthöfers Widerspruch zur Expertenerkenntnis: Künstliche Intelligenz ist besser als natürliche Dummheit.

        Kommentar


        • #5
          hmm.. also eigentlich benutze ich für $item nur integer und für den $key einen string.

          Kommentar


          • #6
            das funktioniert...
            der aufbau ist ja gleich!
            ich verstehe nicht wo mein fehler liegt ?

            PHP-Code:
            $key_var "testkey";
            $key_var2 "testblabla";

            $xml_var[8][$key_var2] = "acht<br>";
            $xml_var[6][$key_var] = "sechs<br>";
            $xml_var[4][$key_var2] = "vier<br>";
            $xml_var[3][$key_var] = "drei<br>";

            echo 
            $xml_var[8][$key_var2];
            echo 
            $xml_var[6][$key_var];
            echo 
            $xml_var[4][$key_var2];
            echo 
            $xml_var[3][$key_var];
            echo 
            count($xml_var); 

            Kommentar


            • #7
              das funktioniert auch..

              PHP-Code:
              $key_var "testkey";
              $key_var2 "testblabla";
              $max 1;

              for(
              $i=0$i <= $max$i++)
              {
                  
              $xml_var[$max][$key_var2] = "acht<br>";
                  
              $xml_var[$max][$key_var] = "sechs<br>";
              }
              for(
              $i=0$i <= $max$i++)
              {
                  echo 
              $xml_var[$max][$key_var2];
                  echo 
              $xml_var[$max][$key_var];
              }
              echo 
              count($xml_var); 
              PHP-Code:
              AUSGABE:
              vier
              drei
              vier
              drei

              Zuletzt geändert von bo2k; 06.05.2003, 12:29.

              Kommentar


              • #8
                jetzt hab ich den fehler gefunden!!!

                ich hätte anstatt:
                PHP-Code:
                    // --- XML add ---
                    
                function add$item ,$key$wert)
                    {
                        
                //echo "1:($item)2:($key)3:($wert)<br>";
                        
                $this->$xml_data[$item][$key] = $wert;
                    } 
                lieber gleich...
                PHP-Code:
                    // --- XML add ---
                    
                function add$item ,$key$wert)
                    {
                        
                //echo "1:($item)2:($key)3:($wert)<br>";
                        
                $this->xml_data[$item][$key] = $wert;
                    } 
                schreiben sollen.
                der fehler lag bei dem 2. '$' zeichen bei der var. der klasse

                Kommentar

                Lädt...
                X