[PHP] Array von Klassen



  • Hi !

    Ich möchte ein Array aus Klassen machen. Mein bisheriger Versuch war so :

    <?
    class foo
    {
        VAR $a, $b;
    };
    
    $bar = array ();
    
    $bar[0].$a = 5; $bar[0].$b = 2;
    $bar[1].$a = 6; $bar[1].$b = 3;
    $bar[2].$a = 7; $bar[2].$b = 4;
    ?>
    

    Leider klappt das überhaupt nicht, warum weiß ich leider nicht 🙂

    Kann mir einer weiterhelfen ? Wäre euch echt dankbar !



  • Das sieht aber komisch aus 😉 Probier's mal so in der Art:

    <?
    class foo
    {
      var $a, $b;
    };
    
    $bar[0] = new foo;
    $bar[0]->a = 5; $bar[0]->b = 2;
    
    $bar[1] = new foo;
    $bar[1]->a = 6; $bar[1]->b = 3;
    
    $bar[2] = new foo;
    $bar[2]->a = 7; $bar[2]->b = 4;
    ?>
    

    Ist nicht getestet 🙄 Weitere Informationen zu OOP in PHP findest du auch hier



  • Cool, das funktioniert 🕶

    Variablen mal mit "",malohne"", mal ohne "", mal ".", mal "->" da blickt doch kein Mensch durch 🙂

    Edit :
    Außerdem ist das nicht komisch, sondern so wie ichs in C machen würde (naja fast) :p

    [ Dieser Beitrag wurde am 19.02.2003 um 16:37 Uhr von Headhunter editiert. ]



  • das ist ganz einfach so:
    .  ist normalerweise ein Verkettungsoperator, um Strings zu verketten
    -> wird verwendet, um auf Klassen-Member zuzugreifen

    mit dem $wird immer die variable selbst angesprochen, also z.B. so:

    $name = "test";
    $object = new foo;
    $object->$name = 3; // wird zu $object->test = 3
    

    oder z.B. so:

    $index = 5;
    $array[$index] = 5; // entspricht $array[5]
    

    oder auch was teilweise praktisches: dynamische Variable 🙂

    $varname = "test";
    $$varname = "hallo"; // weist $test "hallo" zu
    

Anmelden zum Antworten