RE: [PHP] Array remove function?
| From: | Daevid Vincent | Date: | Tue, 10 Apr 2007 19:59:41 +0000 |
| Subject: | RE: [PHP] Array remove function? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-252456@lists.php.net to get a copy of this message | ||
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@l-i-e.com> 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