Namen von Arrayelementen
Peter Thomassen
- php
Hallo Forum!
Folgendes Beispiel:
<?php
$foo['bar'] = 'SelfHTML';
echo $foo[0]; // Schreibt 'SelfHTML'.
?>
Wir haben jetzt also eine Variable $foo[0] - alternativ $foo['bar'].
Wenn ich jetzt aber nur weiß, dass es $foo[0] gibt, wie komme ich
an den zweiten Namen 'bar'?
Dass diese Information zugänglich ist, sieht man an einem var_dump
des Arrays.
Hintergrund: Ich möchte ein Kontaktformular schreiben, welches Zeilen
in Form von 'name des <input>: value des <input>'.
Danke!
Peter
Hallo Peter,
Folgendes Beispiel:
<?php
$foo['bar'] = 'SelfHTML';
echo $foo[0]; // Schreibt 'SelfHTML'.
?>
Bei mir: (PHP 4.3.0)
christian@midnight:~$ php test.php
PHP Notice: Undefined offset: 0 in /var/web/userdirs/christian/projekte/personen_db/tmp/test.php on line 3
christian@midnight:~$
Wir haben jetzt also eine Variable $foo[0] - alternativ $foo['bar'].
Ich nicht.
Dass diese Information zugänglich ist, sieht man an einem var_dump
des Arrays.
<?php
$foo['bar'] = 'SelfHTML';
var_dump ($foo);
?>
ergibt:
christian@midnight:~$ php test.php
array(1) {
["bar"]=>
string(8) "SelfHTML"
}
christian@midnight:~$
Hintergrund: Ich möchte ein Kontaktformular schreiben, welches Zeilen
in Form von 'name des <input>: value des <input>'.
Wenn Du einen assoziativen Array abarbeiten willst:
Methode 1:
while (list ($key, $value)) = each ($array)) {
echo "$key: $value\n";
}
Methode 2:
foreach ($array as $key => $value) {
echo "$key: $value\n";
}
Methode 3:
foreach (array_keys ($array) as $key) {
$value = $array[$key];
echo "$key: $value\n";
}
Christian
Hallo Christian!
Methode 2:
foreach ($array as $key => $value) {
echo "$key: $value\n";
}
Ich dachte, dabei kommt man die Nummer des Index zurück. Danke!
Bye,
Peter
Hallo Peter,
foreach ($array as $key => $value) {
echo "$key: $value\n";
}Ich dachte, dabei kommt man die Nummer des Index zurück.
Bei normalen Arrays stimmt das ja auch, nur bei assoziativen Arrays bekommt man aber den Schlüssel zurück.
Oder anders herum: Stelle Dir normale Arrays als eine Sonderform von assoziativen Arrays vor, bei denen halt Zahlen als Schlüssel genommen werden. Mit dieser Vorstellung kann man das Array-Verhalten von PHP ziemlich gut nachvollziehen.
Christian