bestimmten Eintrag aus einem Array löschen (ich verzweifle)
Anton
- php
Hi!
Ich bin jetzt schön ewig dran und versuche einen Wert aus der Datenbank abzufragen. Dieser beinhaltet normalerweise "zahl|zahl|zahl|..." also eben lauter zahlen...
Das ganze tu ich dan per explode in ein Array.
Es gibt auch noch zwei andere Arrays... Die sind etwa gleich aufgebaut.
Jetzt kommt der eigentliche Skript..
Ich will jetzt eine Zahl in ein bestimmtes Array einfügen, jedoch dieselbe aus den beiden anderen löschen, falls sie drinnen ist...
Ich schick euch jetzt mal den Code, wie ich das gemacht habe...
if($enter=="sure") {
if(!in_array("$logtin_memberdata[0]",$players_sure)) {
if($position1 = array_search($logtin_memberdata[0],$players_maybe)) {
$players_maybe = array_splice($players_maybe,$position1,1);
}
if($position2 = array_search($logtin_memberdata[0],$players_not)) {
$players_not = array_splice($players_not,$position2,1);
}
echo "1:".$position1."<br>";
echo "2:".$position2;
$players_sure[]="$logtin_memberdata[0]";";
}
} elseif($enter=="maybe") {
if(!in_array("$logtin_memberdata[0]",$players_maybe)) {
if($position1 = array_search($logtin_memberdata[0],$players_sure)) {
$players_sure = array_splice($players_sure,$position1,1);
}
if($position2 = array_search($logtin_memberdata[0],$players_not)) {
$players_not = array_splice($players_not,$position2,1);
}
echo "1:".$position1."<br>";
echo "2:".$position2;
$players_maybe[]="$logtin_memberdata[0]";";
}
} elseif($enter=="not") {
if(!in_array("$logtin_memberdata[0]",$players_not)) {
if($position1 = array_search($logtin_memberdata[0],$players_sure)) {
$players_sure = array_splice($players_sure,$position1,1);
}
if($position2 = array_search($logtin_memberdata[0],$players_maybe)) {
$players_maybe = array_splice($players_maybe,$position2,1);
}
echo "1:".$position1."<br>";
echo "2:".$position2;
$players_not[]="$logtin_memberdata[0]";
}
}
Dabei ist $logtin_memberdata[0] eben die Zahl, die gelöscht/eingefügt werden soll...
$players_xyz sind die Arrays...
Und das Problem: Es werden immer mehrere Einträge aus dem Array gelöscht, nicht nur das eine, das ich herausen haben will... Ich weiß einfach nicht mehr, was ich machen könnte.
Danke schonmal fürs Lesen, und wenn mir jemand helfen kann, dann bin ich überglücklich ;)
Grüße,
Anton
Hab das ganze jetzt etwas umgeschrieben...
Aber es ist immer noch das Problem:
array_splice($array, $position, 1);
Es werden alle Einträge bis auf den ersten gelöscht!!!!!!!!! Warum??????? Ich check des einfach ned...
Hallo!
Hab das ganze jetzt etwas umgeschrieben...
Aber es ist immer noch das Problem:
array_splice($array, $position, 1);
Es werden alle Einträge bis auf den ersten gelöscht!!!!!!!!! Warum??????? Ich check des einfach ned...
dann machst Du wohl was falsch, denn so wie Du es beschreibst solte es funktionieren, wenn $array der ursprüngliche Array ist, $position die Position an der Du löschen willst. Die Funktion _ändert_ $array, sie gibt nicht das das Ergebnis zurück, sondern das gelöschte element5, siehe http://php.net/array-splice
Außerdem gibt es da ja auch noch
unlink($array[$position]);
siehe http://php.net/unlink
Grüße
Andreas