Array leeren oder filtern, wie geht das?

Blaubmania

Erfahrenes Mitglied
Hiho,
da mir bei meinem 1. Vorschlag nicht wirklich wer helfen konnte hab ich mir mal ne neue Variante überlegt die aber irgendwie genauso wenig funktioniert. Vlt. kann mir aber hier jemand weiter helfen da diese wohl etwas einfacher ist.

PHP:
function arrayfilter()
{
 $_SESSION['temparray']=$_SESSION['groupid'];
 if($_POST['pc-saal']!="")
 { 
  $zahl = intval($_POST['pc-saal']);
  $index = array_search($zahl,$_SESSION['temparray'],0);
  $hilfe = $_SESSION['temparray'][$index];
  $_SESSION['temparray'] = array_splice($_SESSION['temparray'],1);
  $_SESSION['temparray'][0]=$hilfe;
 }
}

Ich möchte einfach nur das wenn die IF Bedingung ausgeführt wird ein bestimmter Wert im temparray gesucht wird und dieser Wert dann nur noch alleine im Array steht und alle anderen raus bzw. weg bzw. gelöscht sind.
Danke nochmals für jeden Tipp.
 
Ok also ich hab noch nen anderen Vorschlag dafür müsste ich aber wissen wie kann ich einen bestimmten Index im Array entfernen weis das event. jemand? also ich habe 3 Werte im Array also Index 0,1,2 sind belegt und ich möchte z.B. das index 1 entfernt wird so das ich dann praktisch nur noch 0,1 belegt habe also nur noch 2 Werte drinnen.
 
[phpf]unset[/phpf] entfernt auch ein einzelnes Arrayelement. Aber ich glaube, Du hast in Deinem Beipiel danach nicht 0,1 in Deinem Array, sondern 0,2.
Da bin ich mir aber nicht sicher, das müsstest Du mal ausprobieren.
Mit foreach und next und ähnlichem aus der PHP-Syntax solltest Du das Array aber trotzdem noch durchlaufen können. (Hier zeigt sich dann auch, warum man Iteratoren und keine normalen for-Schleifen für Ararys nehmen sollte, aber das nur allgemein und am Rande.)

Gruß hpvw
 
Zurück