thomas: Array-daten-position per var geben

hi!

Kann ich arrays in folgender Form erstellen, ohne wegen dem verändernden $y probleme zu bekommen (theoretisch wird der code doch von oben nach unten verarbeitet und sollte daher gehen):

$y=0;
$daten[$y][0] = 'irgendeinevar00';
$daten[$y][1] = 'irgendeinevar01';
$daten[$y][2] = 'irgendeinevar02';
$daten[$y][3] = 'irgendeinevar03';
$y++;
$daten[$y][0] = 'irgendeinevar10';
$daten[$y][1] = 'irgendeinevar11';
$daten[$y][2] = 'irgendeinevar12';
$daten[$y][3] = 'irgendeinevar13';
$y++;
...

Danke für eure Hilfe
thomas

  1. Ja, das geht.

  2. hi,

    Kann ich arrays in folgender Form erstellen, ohne wegen dem verändernden $y probleme zu bekommen

    Ja.

    $y=0;
    $daten[$y][0] = 'irgendeinevar00';

    Du solltest aber, wenn du sauber programmieren willst, zwischen diesen beiden Zeilen $daten[$y] zunächst als Array initialisieren:

    $y=0;
    $daten[$y] = array();
    $daten[$y][0] = 'irgendeinevar00';

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      Kann ich arrays in folgender Form erstellen, ohne wegen dem verändernden $y probleme zu bekommen

      Ja.

      $y=0;
      $daten[$y][0] = 'irgendeinevar00';

      Du solltest aber, wenn du sauber programmieren willst, zwischen diesen beiden Zeilen $daten[$y] zunächst als Array initialisieren:

      $y=0;
      $daten[$y] = array();

      Anderenfalls würde $daten[$y][0] eventuell auch gar nicht belegt werden.

      Wenn nämlich $daten[$y] == (string) ist, könntest Du $daten[$y][0] nicht belegen, da es nicht existiert. Es könnte auch nicht angelegt werden, da kein Ankerpunkt dafür besteht.

      Soweit ich das in erinnerung habe, gibt das noch nicht einmal eine Notice. Besser wärs allerdings :-)

      LG
      Chris

      1. ich hatte darüber
        $daten = array();
        stehen, habs nur vergessen hinzuschreiben *g*
        Dann müsste es also passen :-)

        Danke
        thomas

        1. hi,

          ich hatte darüber
          $daten = array();
          stehen, habs nur vergessen hinzuschreiben *g*
          Dann müsste es also passen :-)

          Nein, das bezieht sich ja lediglich auf die erste Ebene deines Arrays.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Hallo,

            ich hatte darüber
            $daten = array();
            stehen, habs nur vergessen hinzuschreiben *g*
            Dann müsste es also passen :-)

            Nein, das bezieht sich ja lediglich auf die erste Ebene deines Arrays.

            Wenn sichergestellt ist, dass es, nachdem die Stammstruktur

            $daten = array();

            (re-)initialisiert wurde, kein

            $daten[$y] = (string);

            gegeben hat, kann er auch tiefere Strukturen _sofort_ anlegen.

            $daten[$y][33]['rechts']['oben'] = 'Fenster schließen';

            Das funktioniert aber nur, wenn auf der Strecke dorthin nirgendwo ein Skalar eingetragen ist. "Nicht vorhanden", identisch false und identisch NULL stören nicht.

            LG
            Chris

            1. hi,

              Wenn sichergestellt ist, dass es, nachdem die Stammstruktur
                $daten = array();
              (re-)initialisiert wurde, kein
                $daten[$y] = (string);
              gegeben hat, kann er auch tiefere Strukturen _sofort_ anlegen.

              Aber verlässt man sich damit nicht auch auf die automatische Typkonvertierung (bzw. in diesem Falle -erstellung bzw. -initialisierung) von PHP - oder ist das definiertes Verhalten?

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }