Home  >  Article  >  Backend Development  >  How to Remove Multidimensional Array Elements by Value in PHP?

How to Remove Multidimensional Array Elements by Value in PHP?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-18 11:01:03128browse

How to Remove Multidimensional Array Elements by Value in PHP?

Deleting Elements from a Multidimensional Array Based on Value

In PHP, working with multidimensional arrays often presents the need to remove specific elements based on their values. Here's how you can approach this challenge:

Solution:

To remove elements from a multidimensional array based on a value, you can use the following function:

<code class="php">function removeElementWithValue($array, $key, $value) {
    foreach ($array as $subKey => $subArray) {
        if ($subArray[$key] == $value) {
            unset($array[$subKey]);
        }
    }
    return $array;
}</code>

Usage:

To utilize this function, you simply need to pass in the array, the key of the element you want to match, and the value to match. For example, in your case, you would call the function like this:

<code class="php">$array = removeElementWithValue($array, "year", 2011);</code>

This will remove any sub-arrays where the "year" key has the value "2011" from the given array.

Output:

After executing the above function call, your array will look like this:

Array
(
    [0] =&gt; Array
        (
            [filmId] =&gt; 68593
            [url] =&gt; http://www.moviemeter.nl/film/68593
            [title] =&gt; Unstoppable
            [alternative_title] =&gt; 
            [year] =&gt; 2010
            [thumbnail] =&gt; http://www.moviemeter.nl/images/covers/thumbs/68000/68593.jpg
            [average] =&gt; 3.3
            [votes_count] =&gt; 191
            [similarity] =&gt; 100.00
            [directors_text] =&gt; geregisseerd door Tony Scott
            [actors_text] =&gt; met Denzel Washington, Chris Pine en Rosario Dawson
            [genres_text] =&gt; Actie / Thriller
            [duration] =&gt; 98
        )
    [1] =&gt; Array
        (
            [filmId] =&gt; 17931
            [url] =&gt; http://www.moviemeter.nl/film/17931
            [title] =&gt; Unstoppable
            [alternative_title] =&gt; Nine Lives
            [year] =&gt; 2004
            [thumbnail] =&gt; http://www.moviemeter.nl/images/covers/thumbs/17000/17931.jpg
            [average] =&gt; 2.64
            [votes_count] =&gt; 237
            [similarity] =&gt; 100.00
            [directors_text] =&gt; geregisseerd door David Carson
            [actors_text] =&gt; met Wesley Snipes, Jacqueline Obradors en Mark Sheppard
            [genres_text] =&gt; Actie / Thriller
            [duration] =&gt; 96
        )
)

The sub-arrays with "year" equal to "2011" have been successfully removed.

The above is the detailed content of How to Remove Multidimensional Array Elements by Value in PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn