Christoph: Newbie frage

Hi zusammen,

Ich versuche gerade den Umgang mit Arrays und Strings zu erlernen(benutze PHP), aber irgendwie will das einfach nicht ganz klappen,

Wie ist ein Array aufgebaut?

Inhalt der text.dat:

<!--Anfang text.dat-->
test1
test2
test3
<!--Ende text.dat-->

Daraus würde ich nach dem einlesen des Arrays folgendes entnehmen:

$datei = file("text.dat","r");

echo "$datei[0]"; <--Zeile 1 Bezeichner[0],Wert test1
echo "$datei[1]"; <--Zeile 2 Bezeichner[1],Wert test2
echo "$datei[2]"; <--Zeile 3 Bezeichner[2],Wert test3

Richtig oder?
----------------------<<<<<<<<<>>>>>>>>>>>>>-------------------------
Aber was dann?
Inhalt der text.dat:

<!--Anfang text.dat-->
test1|testa|testb|testc
test2|testa|testb|testc
test3|testa|testb|testc
<!--Ende text.dat-->

Darus würde ich folgendes entnehmen:

$datei = file("text.dat","r");
$inhalt=explode('|',$datei[$i]);

Wie muß ich nun weiter vorgehen um alle Inhalte einzeln anzusprechen?
Oder einfacher ausgedrückt wie wie verlaufen nun die bezeichner?

Ich hoffe das ihr mir sagen könnt wie ich in mein Durcheinander nen bischen Ordnung kriege...

Danke an alle die mir helfen oder es versucht haben.

Bis dahin...

MfG Christoph

  1. Hi,

    Ich versuche gerade den Umgang mit Arrays und Strings zu erlernen(benutze PHP),

    es wäre deutlich informativer gewesen, wenn Du dies als Subject gewählt hättest anstatt "zur Info" und etwas, was wir durchaus auch selbst zu merken in der Lage sind. Bitte gib Dir in Zukunft mehr Mühe bei der Wahl des Subjects.

    aber irgendwie will das einfach nicht ganz klappen,

    Wie lautet die Problembeschreibung?

    Wie ist ein Array aufgebaut?

    Abgesehen davon, dass in PHP jedes Array assoziativ ist (also im Grunde ein Hash oder Dictionary): wie in jeder anderen Sprache auch ;-) Es ist eine Liste von Werten, die jeweils einem Index zugeordnet sind; also $array['Index']='Wert'.

    $datei = file("text.dat","r");
    echo "$datei[0]"; <--Zeile 1 Bezeichner[0],Wert test1

    [...]

    Richtig oder?

    Ja. Hier ist der Index übrigens nummerischer Natur, also "traditionell"; und wie in der Informatik üblich beginnt die Zählung bei 0.

    test1|testa|testb|testc

    Auch das ist nur ein String, genauso als würde er "test1" lauten.

    $datei = file("text.dat","r");
    $inhalt=explode('|',$datei[$i]);

    Jetzt hast Du eine einzelne Zeile der Datei (nämlich die $i-te) genauso behandelt wie vorher die Datei selbst - nur "quergestellt". Stelle Dir die "|"-Zeichen als Zeilenumbrüche vor, und es existiert kein Unterschied mehr zwischen Fall 1 und Fall 2; bis auf dass Dir file() das explode() erspart hat, weil es das automatisch mit dem Zeilenumbruch durchführt.

    Wie muß ich nun weiter vorgehen um alle Inhalte einzeln anzusprechen?

    Ich hoffe, das ist nun etwas klarer :-)

    Cheatah

    1. Hi,

      es wäre deutlich informativer gewesen, wenn Du dies als Subject gewählt hättest anstatt "zur Info" und etwas, was wir durchaus auch selbst zu merken in der Lage sind. Bitte gib Dir in Zukunft mehr Mühe bei der Wahl des Subjects.

      Werds beherzigen.Sorry (-;

      Ich hoffe, das ist nun etwas klarer :-)

      Hat mir weitegeholfen.

      Danke

      Cheatah

      MfG Christoph