Wert aus Array löschen

Thomas_Jung

Erfahrenes Mitglied
Hallo
Wenn ich im array_search eine 6 Eingebe wird der Wert vom array gelöscht.
Wenn ich im array_search eine 2 Eingebe wird der Wert vom array gelöscht.
Wenn ich im array_search eine 1 Eingebe wird der Wert vom array NICHT gelöscht.


Warum is das so?

Gruß Thomas

PHP:
$_SESSION['boxes']  ->  '1','6','2'

if ( $c = array_search ( '6', $_SESSION['boxes'] ) ){
echo $_SESSION['boxes'][$c] . ' wurde gefunden!';
unset($_SESSION['boxes'][$c]);
}
 
Was asipak4you damit sagen will: du musst nicht nur prüfen, ob der Rückgabewert von array_search() nicht dem booleschen false entspricht(was bei dem Integer 0 halt der Fall ist), sondern auch, ob er vom Typ her kein boolean ist.

Nur wenn beides gegeben ist, hat array_search() etwas gefunden.
PHP:
$c = array_search ( '1', $arr );
if ( $c !==false){
echo $arr . ' wurde gefunden!';
unset($arr[$c]);
}

Mit der 1 hat es also nichts zu Tun, das Problem besteht immer, sobald das erste Array-Element gefunden wurde, denn das hat den key 0
 
Hallo

Danke euch beiden.

PHP:
$c = array_search ( '1', $arr );
if ( $c !==false){
echo $arr . ' wurde gefunden!';
unset($arr[$c]);
}

klappt super.

Gruß Thomas
 
Zurück