我有两个数组:
$A = array('a','b','c','d')
$c = array('b','c','e','f')
我想获得一个包含不在数组$A
中的项的新数组。所以它会是:
$result = array('e','f');
因为'e'
和'f'
不在$A
。
答案 0 :(得分:9)
使用array_diff
print_r(array_diff($c, $A));
返回
Array
(
[2] => e
[3] => f
)
答案 1 :(得分:2)
使用array_diff
执行此任务。有点烦人,它不会返回两个数组之间的所有差异。只传递第一个数组中未在任何其他数组中找到的元素作为参数传递。
$array1 = array('a','b','c','d');
$array2 = array('b','c','e','f');
$result = array_diff($array2, $array1);
答案 2 :(得分:1)
答案 3 :(得分:1)
Pseduo一般实施准则
免责声明:不熟悉PHP,其他答案表明有更快捷的方法:)
遍历你的第一个阵列:
// Array of results
array results[];
// Loop through all chars in first array
for i = 0; i < A.size; i++
{
// Have we found it in second array yet?
bool matched = false;
// Loop each character in 2nd array
for j = 0; j < C.size; j++
{
// If they match, exit the loop
if A[i] == C[J] then
matched = true;
exit for;
}
// If we have a match add it to results
if matches == true then results.add(A[i])
}