PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Wert aus einem Array löschen (http://www.selfphp.de/forum/showthread.php?t=11304)

jan84 01.09.2005 18:38:37

Wert aus einem Array löschen
 
Hallo,

wie kann ich aus einem indiziertem Array genau einen Wert löschen, wobei ich den Index des Wertes nicht kenne, sondern nur den Wert selbst. Der Wert kann nur einmal in dem Array vorkommen, es kann also auch nicht passieren, das zwei Werte gelöscht werden.
Hier ein Bsp. zur Verdeutlichung:

PHP-Code:

$array[] = 12;
$array[] = 9834;
$array[] = 876;
$array[] = 4

Jetzt möchte ich den Wert '876' löschen, weiss aber nicht, welchen Index er hat. Gibt es hierfür eine Funktion?

Gruss
Jan

xabbuh 01.09.2005 19:10:32

AW: Wert aus einem Array löschen
 
Den Key (Index) eines Wertes in einem Array ermittelst du mit array_search(). Das Element kannst du mittels unset() löschen:
PHP-Code:

<?php
    
unset(array_search(876$array));
?>


jan84 01.09.2005 19:16:14

AW: Wert aus einem Array löschen
 
Molto Grazie!

Crashdown 07.12.2011 23:34:13

AW: Wert aus einem Array löschen
 
Apropos
PHP-Code:

<?php
    
unset(array_search(876$array));
?>

Das kann ich so leider nicht gelten lassen :)

PHP-Code:

array_search(876$array); 

würde den numerischen Wert 2 Zurückliefern und den kannst du nicht löschen. Sollte auch ne Fehlermeldung produzieren. Richtig wäre

PHP-Code:

unset($array[array_search(876$array)]);

// Und um den Index wiederherzustellen
$array array_values($array); 

Oder man verwendet gleich array_slice()


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:45:41 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.