如何在 PHP 中按值刪除多維數組元素?

Mary-Kate Olsen
發布: 2024-10-18 11:01:03
原創
232 人瀏覽過

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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板