Sunday 17 December 2017

PHP array delete by value (not key)

itemprop="text">


I have a PHP array as
follows:



$messages = [312, 401,
1599, 3, ...];


I want
to delete the element containing the value $del_val (for
example, $del_val=401), but I don't know its key. This might
help: each value can only be there
once
.



I'm looking for the
simplest function to perform this task, please.


class="post-text" itemprop="text">
class="normal">Answer



Using
rel="noreferrer">array_search() and href="http://br2.php.net/unset"
rel="noreferrer">unset, try the
following:




if (($key =
array_search($del_val, $messages)) !== false) {

unset($messages[$key]);
}


array_search()
returns the key of the element it finds, which can be used to remove that element from
the original array using unset(). It will return
FALSE on failure, however it can return a false-y value on
success (your key may be 0 for example), which is why the
strict comparison !== operator is
used.



The if()
statement will check whether array_search() returned a value,
and will only perform an action if it did.



No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...