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
,则返回falsefalse
用作整数时强制转换为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
,则返回falsefalse
用作整数时强制转换为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])。