hallo!
ich benutze extract(array); ein einer meiner funktionen. mit 2d-arrays funktioniert auch alles bestens. wenn ich jedoch einen 3d-array verwende, dann kann ich mit den schlüssel-namen nur auf das erste element des arrays zugreifen. wie kann ich dieses problem umgehen?
beispiel:
$array[0][name] = "benutzer";
$array[0][pass] = "geheim";
$array[1][name] = "user";
$array[1][pass] = "secret";
extract($array);
echo $name."<br>".$pass;
=> benutzer<br>geheim
danke im vorraus :)
[PHP] extract mit mehrdimensionalen arrays?
Re: [PHP] extract mit mehrdimensionalen arrays?
Code: Select all
for ( $i=0; $i<count($array); $i++ )
{
echo $array[$i]['name'] . "<br>" . $array[$i]['pass'];
}
Re: [PHP] extract mit mehrdimensionalen arrays?
Ã?brigens solltest du auf keinen Fall die einfachen Anführungszeichen bei deinem "String-Index" vergessen:ups wrote: $array[0][name] = "benutzer";
$array[0][pass] = "geheim";
$array[1][name] = "user";
$array[1][pass] = "secret";
$array[0][name] muss lauten $array[0]['name']
Da dein PHP womöglich falsch konfiguriert ist, erhälst du keine Fehlermeldung, bei richtiger Error-Config (Debug-Mode) solltest du aber einen "Implicit Constant to String Conversion" Error bekommen.
-
majortermi
- Userprojekt

- Posts: 916
- Joined: 2002-06-17 16:09
Re: [PHP] extract mit mehrdimensionalen arrays?
ACK! "extract" ist geradezu eine Einladung für irgendwelche Angreife, wenn man nämlich nicht höllisch aufpasst, und sichergeht dass register_globals deaktiviert ist bzw. alle Variablen, die man danach anspricht, vor der Benutzung von "extract" initialisiert wurden, kann da jemand ganz einfach beliebige Werte einschmuggeln.kase wrote:Mit extract würde ich ehrlich gesagt NIE arbeiten, sondern immer die Sachen im Array direkt ansprechen.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
Warum man sich an diese Reihenfolge halten sollte...
Re: [PHP] extract mit mehrdimensionalen arrays?
okay, danke für die infos. habe die funktion umgeschrieben und komme jetzt ohne extract() aus :)