While that is true, you need to know the key, you could do something like this, which I think is more efficient than your way... foreach($array as $key => $value) { if ($value == $remove) { unset($array[$key]); //if you know there is only one hit, //then you could also: //return; //for more efficiency and speed. } } > On 4/10/07, Richard Lynch <ceo@xxxxxxxxx> wrote: > > http://php.net/unset > > That works when you know the key, but will that work when you only > know the value? > > Tijnema > > > > > > On Tue, April 10, 2007 2:49 pm, Tijnema ! wrote: > > > Hi, > > > > > > Is there currently a function that removes a key/value > from an array? > > > I use this code right now: > > > function array_remove($array,$remove,$remove_value = true) > > > { > > > foreach($array as $key => $value) { > > > if($remove_value && $value != $remove) { > > > $new_array[$key] = $value; > > > } elseif (!$remove_value && $key != $remove) { > > > $new_array[$key] = $value; > > > } > > > } > > > return $new_array; > > > } > > > > > > array_remove(array(1=>2,2=>3),2,true); // array (2=>3) > > > array_remove(array(1=>2,2=>3),2,false); // array (1=>2) > > > > > > Anyone knows if there already exists such function? > > > > > > Else should i create future request? > > > > > > Tijnema -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php