[英]Deleting values in an array from another array
I have 2 arrays and I would like to delete everything in the first array that is in the second array. 我有2个数组,我想删除第二个数组中的第一个数组中的所有内容。 In thise case I would like to delete "ibomber" and "apphero" in array one.
在这种情况下,我想删除数组1中的“ ibomber”和“ apphero”。 I tried something with unset, but it doesn't look like it works.
我尝试了一些未设置的操作,但看起来不起作用。
array (size=5)
0 => string 'Air Hippo' (length=9)
1 => string 'iBomber Defense Pacific' (length=23)
3 => string 'AppHero' (length=7)
5 => string 'Pillboxie' (length=9)
6 => string 'Monogram' (length=8)
array (size=2)
0 => string ' iBomber Defense Pacific' (length=24)
1 => string ' AppHero' (length=8)
This is what I tried: 这是我尝试的:
foreach ($_SESSION["appsarray"] as $k=>$v)
{
foreach ($_SESSION["finalapps"] as $k2=>$v2)
{
if ($v == $v2)
{
unset ($_SESSION["appsarray"][$k]);
}
}
}
Session appsarray is my first array and session finalapps is my second array. 会话appsarray是我的第一个数组,会话finalapps是我的第二个数组。
Thanks! 谢谢!
function TrimmedStrCaseCmp($str1,$str2)
{
return strcasecmp(trim(str1),trim(str2));
}
$result = array_udiff(values,to_remove_from_values,'TrimmedStrCaseCmp');
http://php.net/manual/en/function.array-udiff.php http://php.net/manual/en/function.array-udiff.php
You're looking for array_diff ie; 您正在寻找array_diff即;
$appsarray = array('Air Hippo','iBomber Defense Pacific','AppHero','Pillboxie','Monogram');
$finalapps = array('iBomber Defense Pacific','AppHero');
$result = array_diff($appsarray,$finalapps);
print_r($result);
Will output; 将输出;
Array ( [0] => Air Hippo [3] => Pillboxie [4] => Monogram )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.