首页 >后端开发 >php教程 >如何在 PHP 中按值删除多维数组元素?

如何在 PHP 中按值删除多维数组元素?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-18 11:01:03309浏览

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.

以上是如何在 PHP 中按值删除多维数组元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn