php-如何在这种情况下取消设置数组元素

php-如何在这种情况下取消设置数组元素,php,multidimensional-array,unset,Php,Multidimensional Array,Unset,我的数组如下所示: Array ( [0] => Array ( [value] => Array ( [source] => vimeo [url] => https://vimeo.com/000000 ) [type] => videos ) [2] => Array ( [value] => 62

我的数组如下所示:

Array ( 
    [0] => Array ( 
        [value] => Array (
            [source] => vimeo
            [url] => https://vimeo.com/000000
        ) 
        [type] => videos 
    )
    [2] => Array ( 
        [value] => 62 
        [type] => images 
    ) 
)
我想用type=>images取消设置数组id

我试过这个:

$key = array_search('images',$slides); 
unset($slides[$key]); 
而且它只删除数组中的第一项

更新:

毕竟,我是这样做的:

foreach ( $slides as $slide => $value) {
    if ($display_mode == 'images' &&  $value['type'] == 'videos') {
        unset($slides[$slide]);
    } elseif ($display_mode == 'videos' &&  $value['type'] == 'images') {
        unset($slides[$slide]); 
    }  
}

谢谢。

array\u search
如果未找到
$needle
,则返回false
false
用作整数时强制转换为
0
。您可能需要考虑用例:

foreach ($slides as $key => $slide) {
    if (in_array('images', $slide)) unset($slides[$key]);
}
$array = array(...);

$array = array_filter($array, function($item) { return in_array('images', $item); });

array\u search
如果未找到
$needle
,则返回false
false
用作整数时强制转换为
0
。您可能需要考虑用例:

$array = array(...);

$array = array_filter($array, function($item) { return in_array('images', $item); });

eBrian--您需要使用对$slide的引用才能使其工作。否则,每次迭代后都将放弃更改。否则,foreach是完全可行的=)@KevinNielsen,不是真的。请注意,我直接在数组中取消设置,而不是尝试取消设置$slide。最终,它所做的是unset($slides[2]).eBrian——您需要使用对$slide的引用才能工作。否则,每次迭代后都将放弃更改。否则,foreach是完全可行的=)@KevinNielsen,不是真的。请注意,我直接在数组中取消设置,而不是尝试取消设置$slide。最终,它的作用是未设置($slides[2])。