从两个数组中仅删除一个匹配元素(Remove only one matching element from two arrays)

编程入门 行业动态 更新时间:2024-10-28 13:27:28
从两个数组中仅删除一个匹配元素(Remove only one matching element from two arrays) $array1 = array(1.99); $array2 = array(1.99, 1.99, 2.99);

我想从$ array2中只删除$ array1的一个匹配元素。

所以,我想要的是:

1.99 2.99

我已经尝试了array_diff() ,它将取出1.99并且只留下2.99 。

$array1 = array(1.99); $array2 = array(1.99, 1.99, 2.99);

I want to remove only one matching element of $array1, from $array2.

so, What I want is:

1.99 2.99

Ive tried array_diff(), which will take out both of the 1.99 and leave me with only 2.99.

最满意答案

你可以利用这个事实, array_search只返回目标数组中的一个匹配元素,并使用它从$array2删除它:

$array1 = array(1.99); $array2 = array(1.99, 1.99, 2.99); foreach ($array1 as $remove) { unset($array2[array_search($remove, $array2)]); }

如果$array1可以包含$array2中不存在的元素,那么您需要添加一个检查,结果array_search不是false。

You can take advantage of the fact array_search will only return one matching element from the target array, and use it to remove that from $array2:

$array1 = array(1.99); $array2 = array(1.99, 1.99, 2.99); foreach ($array1 as $remove) { unset($array2[array_search($remove, $array2)]); }

If $array1 can contain elements that aren't present in $array2 then you'll need to add a check that the result of array_search is not false.

更多推荐

本文发布于:2023-08-03 16:03:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1395179.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:组中   个数   元素   Remove   element

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!