phpbar.de logo

Mailinglisten-Archive

[php] Array - find-and-delete -> Erledigt

[php] Array - find-and-delete -> Erledigt

Norbert Pfeiffer norbert at itbw.de
Mit Apr 28 18:02:19 CEST 2004


Hi Volker,

bei array_flip($arr); gehen doppelte Eintraege verloren!
Sollte dies jedoch nicht stoeren,
geht es noch fixer:
<?
$arry = array('rot','gelb','lila','blau','pink');
print_r($arry);
$such = 'blau';
$temp = array_flip($arry);
unset($temp[$such]);
$arry = array_flip($temp);
print_r($arry);
?>




m. b. G. Norbert
_____________________
normal:  02686-987103
Notruf:  0177-2363368
---------------------
e.o.m.
----- Original Message -----
From: "Dr. Volker Göbbels" <vmg at thinkphp-kunden.de>
To: "deutschsprachige PHP-Mailingliste" <php at phpbar.de>
Sent: Wednesday, April 28, 2004 4:13 PM
Subject: Re: [php] Array - find-and-delete -> Erledigt


Aloha,

><code>
>$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
>if(in_array('blue', $array))
>{
>     unset($array[array_search('blue', $array)]); // $key = 2;
>}
>print_r($array);
>
>/* Ausgabe:
>Array
>(
>     [1] => red
>     [2] => green
>     [3] => red
>)
>*/
><code>

Das geht auch performanter ;)
Der Value ist bekannt, aber das Array ist ja nach
Keys indiziert und nicht nach den Values. Lösung:
array_flip():

$tmp=array_flip($array);
if (array_key_exists('blue')) {
   unset($tmp['blue']);
}
$array=array_flip($tmp);

Fertig ist die Laube ;)

Viele Grüße,
Volker Göbbels
--
Dr. Volker Göbbels vmg at arachnion.de
Arachnion GmbH & Co. KG   http://www.arachnion.de
Sandkaulbach 4         Tel. ++49 (0) 241 5591106
52062 Aachen Fax ++49 (0) 241 5591107
Besuchen Sie uns auf dem Linux Tag in Karlsruhe!  http://www.linuxtag.org
--
** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
Informationen: http://www.phpbar.de
http://lists.phpbar.de/mailman/listinfo/php


php::bar PHP Wiki   -   Listenarchive