当前位置: 首页 > 面试题库 >

根据值从多维数组中删除元素

金晗日
2023-03-14
问题内容

我试图从基于值的多维数组中删除元素。在这种情况下,如果子数组的键“ year”的值为2011,则我希望该子数组消失。

仅作记录:我正在运行PHP 5.2。

我的数组如下所示:

Array
(
    [0] => Array
        (
            [filmId] => 61359
            [url] => http://www.moviemeter.nl/film/61359
            [title] => Unstoppable
            [alternative_title] => 
            [year] => 2011
            [thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/61000/61359.jpg
            [average] => 0
            [votes_count] => 0
            [similarity] => 100.00
            [directors_text] => geregisseerd door Richard Harrison
            [actors_text] => met Chen Shilony, Ruben Crow en David Powell
            [genres_text] => Drama / Komedie
            [duration] => 90
        )
    [1] => Array
        (
            [filmId] => 87923
            [url] => http://www.moviemeter.nl/film/87923
            [title] => Unstoppable
            [alternative_title] => 
            [year] => 2011
            [thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/87000/87923.jpg
            [average] => 0
            [votes_count] => 0
            [similarity] => 100.00
            [directors_text] => geregisseerd door Example Director
            [actors_text] => met Actor 1, Actor 2 en Actor 3
            [genres_text] => Drama / Komedie
            [duration] => 90
        )
    [2] => Array
        (
            [filmId] => 68593
            [url] => http://www.moviemeter.nl/film/68593
            [title] => Unstoppable
            [alternative_title] => 
            [year] => 2010
            [thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/68000/68593.jpg
            [average] => 3.3
            [votes_count] => 191
            [similarity] => 100.00
            [directors_text] => geregisseerd door Tony Scott
            [actors_text] => met Denzel Washington, Chris Pine en Rosario Dawson
            [genres_text] => Actie / Thriller
            [duration] => 98
        )
    [3] => Array
        (
            [filmId] => 17931
            [url] => http://www.moviemeter.nl/film/17931
            [title] => Unstoppable
            [alternative_title] => Nine Lives
            [year] => 2004
            [thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/17000/17931.jpg
            [average] => 2.64
            [votes_count] => 237
            [similarity] => 100.00
            [directors_text] => geregisseerd door David Carson
            [actors_text] => met Wesley Snipes, Jacqueline Obradors en Mark Sheppard
            [genres_text] => Actie / Thriller
            [duration] => 96
        )
)

问题答案:

尝试这个:

function removeElementWithValue($array, $key, $value){
     foreach($array as $subKey => $subArray){
          if($subArray[$key] == $value){
               unset($array[$subKey]);
          }
     }
     return $array;
}

然后,您将这样称呼它:

$array = removeElementWithValue($array, "year", 2011);


 类似资料:
  • 问题内容: 我们可以在php中从单个多维数组中删除重复项,是否可以与多维数组一起使用?它对我不起作用! 这是数组的样子 任何人都可以帮助我… 问题答案: 用户在array_unique页面上的评论确实对此有所启发。您很可能会在这些注释中找到一些隐藏的宝石- 这是非常方便的文档。 只需快速浏览器,便可以了解以下内容,以从多维数组中删除重复项:

  • 问题内容: 对于从PHP数组中删除空元素这一古老的问题,我似乎找不到一个简单而直接的解决方案。 我的输入数组可能如下所示: (依此类推,如果有更多数据,尽管可能没有…) 如果看起来像上面的一样,我希望在处理 完 之后将其 完全清空 。 因此将输出: 如果我运行,我仍然会得到 相同的 输出。不过,我到过的所有地方都表明这是在PHP5中删除空数组元素的最简单方法。 我也尝试过,但是出现以下错误: 警告

  • 问题内容: 我有一个代表多维数据的一维对象数组: 我应该如何将其转换为多维数组: 问题答案: 以下代码示例 将 数组转换为您要查找的树结构: 如果 现有的 父ID为,则此方法无效。但是可以很容易地更改以反映这一点。 编辑: 那么这是如何工作的呢?这利用了PHP变量别名(也称为引用)和(临时)数组,这些数组用于将a)别名存储到节点()和b)来建立新的树顺序()。 你能[…]解释的目的,并取消设置?

  • 问题内容: 我有两个numpy数组: 我想从p_rem中的p_a_colors中删除所有列,所以我得到: 我认为,某些事情应该像 但我只是不知道轴或[:]正确。 我知道 可以,但是我试图避免(python)循环,因为我也想要正确的性能。 问题答案: 这就是我要做的: 您需要执行void dtype事情,以便numpy整体比较行。之后,使用内置的set例程似乎是显而易见的方法。

  • 问题内容: 我有一个像这样的对象数组: 如何根据其属性删除特定的? 例如,我将如何删除以’money’作为字段属性的数组对象? 问题答案: 一种可能性: 请注意,这将创建一个新数组。尽管您使用新的引用更新了原始变量,但其他任何引用原始数组的变量都不会获取过滤后的数据。请谨慎使用。

  • 问题内容: 如何从PHP的多维数组中删除重复值? 数组示例: 问题答案: 这是另一种方式。没有保存中间变量。 我们使用它来删除来自各种重叠查询的结果。