Mailinglisten-Archive |
Dietmar Winhold wrote:
> Wenn ich jetzt hier aber einen Datensatz anfügen möchte, dann bekomme
> ich Probleme:
> ----------- schnipp --------->
> $data = array ("1"=> array("Heinrich","Waldhausen"), "2"=> array
> ("Martina", "Müller"));
> $data= array ("3"=> array("Michaela","May"));
> <----------- schnapp --------------
>
> das liefert nur
> Array Nr.: 3:
> 0 : Michaela
> 1 : May
>
> überschreibt also die ersten beiden Datensätze.
In der Tat. array( ) erstellt ein neues Array (welches die alten
Datensätze natürlich nicht enthält) und überschreibt damit das alte
Array.
Mit $array[] = $irgendwas hängt man etwas an ein Array an.
Alternativ dazu kann man ab PHP4 auch die Funktion array_push()
verwenden.
Unter http://www.php.net/manual/ref.array.php findet man alle
vorhandenen Array-Funktionen, in PHP4 sind ein paar sehr interessante
dazugekommen.
Nebenbei kann man das Array statt mit einer while-Schleife unter PHP4
auch mit foreach auslesen: http://www.php.net/foreach
Zur Ausgabe der Struktur eines u.U. verschachtelten Arrays ist
var_dump() sehr nützlich.
Ausserdem sollte man beachten, dass unter PHP alle Arrays assoziativ
sind (Hashes). Ein Array kann also sowohl die Struktur
array(
1 => "foo",
2 => "bar",
3 => "foobar")
als auch
array(
3 => "foo",
1 => "bar",
2 => "foobar")
genauso wie
array(
2 => "foo",
"Helga" => "bar",
3 => "foobar")
haben.
Man darf sich also nicht darauf verlassen, dass die Keys
durchnummeriert sind. Es sei denn, man weiß, wie das Array zustande
kommt, und ist sicher, dass sie es sind (was sie immer sind, wenn man
sie in Ruhe lässt).
Gesundheit
Wagner
--
The Aquinas Axiom: What the gods get away with, the cows don't.
php::bar PHP Wiki - Listenarchive