Page 1 of 1
[PHP] extract mit mehrdimensionalen arrays?
Posted: 2004-01-17 14:26
by ups
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 :)
Re: [PHP] extract mit mehrdimensionalen arrays?
Posted: 2004-01-17 14:40
by kase
Code: Select all
for ( $i=0; $i<count($array); $i++ )
{
echo $array[$i]['name'] . "<br>" . $array[$i]['pass'];
}
Es würde sich auch eine foreach Schleife empfehlen, allerdings finde ich in solch einem Fall for Schleifen übersichtlicher. Mit extract würde ich ehrlich gesagt NIE arbeiten, sondern immer die Sachen im Array direkt ansprechen.
Re: [PHP] extract mit mehrdimensionalen arrays?
Posted: 2004-01-17 14:44
by kase
ups wrote:
$array[0][name] = "benutzer";
$array[0][pass] = "geheim";
$array[1][name] = "user";
$array[1][pass] = "secret";
Ã?brigens solltest du auf keinen Fall die einfachen Anführungszeichen bei deinem "String-Index" vergessen:
$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.
Re: [PHP] extract mit mehrdimensionalen arrays?
Posted: 2004-01-18 23:36
by majortermi
kase wrote:Mit extract würde ich ehrlich gesagt NIE arbeiten, sondern immer die Sachen im Array direkt ansprechen.
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.
Re: [PHP] extract mit mehrdimensionalen arrays?
Posted: 2004-01-18 23:46
by ups
okay, danke für die infos. habe die funktion umgeschrieben und komme jetzt ohne extract() aus :)