PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP: Funktion funktioniert nicht


eXistence
2004-01-20, 14:01:16
folgendes:
ich muss ein mehrdimensionales array ($cart, in der session gespeichert) sortieren, was mit folgendem auch gut klappt:

session_unregister("cart");
foreach ($cart as $v) $s[] = $v[name];
array_multisort($s, $cart);
session_register("cart");

Da dies aber nur unter bestimmten Bedingungen geschehen soll, wollte ich das ganze in eine funktion stecken und bei Bedarf ausführen, das sieht dann so aus:

function mysort()
{
global $cart;
session_unregister("cart");
foreach ($cart as $v) $s[] = $v[name];
array_multisort($s, $cart);
session_register("cart");
}

mysort();

dummerweise klappt das nicht, es gibt nicht mal ne Fehlermeldung, es passiert einfach garnix, das array sieht danach genauso aus, wie vorher :(
Ich hab mir mal die rückgabewerte (von session_unregister, array_multisort und session_register) geben lassen und demzufolge wurde alles erfolgreich durchgeführt... wo liegt also der Fehler?

eXistence
2004-01-20, 18:39:26
hab mittlerweile selbst die antwort gefunden, für alle die interessiert:

Das Problem war, dass ich mit einer globalen Variable hantiert habe, ich hab stattdessen eine Funktion gebaut, an die ich das Array erst übergeben muss und die mir dann das neue Array als Ausgabe zurückgibt.
Auch den Session-Teil (unregister, register) hab ich dadurch aus der Funktion rausgenommen.