jimbob: zweidimensionales array?

hallo,

hab folgendes problem:
ich hab in einer Klasse eine variable als array deklariert!
var $element= array();
nun will ich jenes abe rals zweidimensionales array verwenden!
gefüttert sollte es aus einer funktion werden!

$this->element[0]["HTML"]= $this->element[count($this->element)-1]->getHTML();

als fehler kommt:
Warning: Cannot use a scalar value as an array
auch wenn ich einfach einen string speichern will:
$this->element[0]["HTML"]= "hallo";

muss ich das anders deklarieren in klassen?

THX jimbob

  1. Hello,

    $this->element[0]["HTML"]= $this->element[count($this->element)-1]->getHTML();

    Was soll denn dabei herauskommen, wenn Du es mal als prozedurale Anweisung schreibst?

    $this->element[0]["HTML"]= "hallo";

    Und was funktioniert hier nicht?

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hi,

      dein Array ist dreidimensional - ein einfaches Array wäre schon zweidimensional ($key -> $value).

      Gruss
      shin

      1. Hello,

        dein Array ist dreidimensional - ein einfaches Array wäre schon zweidimensional ($key -> $value).

        Das ist aber jetzt höhere Philosopie, oder?

        Normalerweise versteht man ja unter einem Array eine Speicherstruktur, in der _ein_ Datentyp angereiht wird. Deshalb nennt man das Array dann auch _Ein_dimensional. Der Index ist kein Bestandteil der Daten.

        Entsprechendes gitl dann für wiederholte Records (oder Structures), also selbstdefinierte (komplexe) Datentypen.

        PHP kennt keine solchen Arrays, sondern "nur" verkettete Listen. Eine Liste, die sich zwischen Anfangs- und Endpunkt aufspannt, nennt man auch "eindimensionale Kette". Mehrdimensionale Ketten, die eingetlich "Bäume" heißen, haben dann "Knoten", an denen weitere Ketten beginnen.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau