php - array_diff不返回预期的结果

标签 php arrays

我在这里阅读了一些教程,但是没有一个返回我需要的东西。我有两个数组。

$arrayA = array(1960,1961,1963,1962,1954,1953,1957,1956,1955);
$arrayB = array(1949,1960,1961,1963,1962,1954,1953,1957,1956,1955);


但是,当我运行array_diff时,它将返回一个空数组。

$diff = array_diff($arrayA, $arrayB);


但是我希望它返回1949。我的代码有什么错误?

编辑:由于切换变量将不起作用,我为3个数组(A,B和diff)做了var_dump,这是pastebin http://pastebin.com/tn1dvCs3

最佳答案

array_diff通过根据documentation在第一个数组中查找不在第二个数组中的元素来工作。尝试将电话转接:

$diff = array_diff($arrayB, $arrayA);


为了了解这一点,让我们来看一个更易于管理但等效的示例:

$arrayA = array(1960);
$arrayB = array(1949,1960);

$diff = array_diff($arrayB, $arrayA);
var_dump($diff);


这样产生:

[mylogin@aserver ~]$ vim test.php
[mylogin@aserver ~]$ php test.php
array(1) {
  [0]=>
  int(1949)
}


请注意,这只是您尝试获得的功能的最小说明性示例。通过在实际实现中丢弃不必要的数据,您可以更快地将您遇到的问题归零。

关于php - array_diff不返回预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16074233/

相关文章:

php - 数组键作为字符串和数字

php - 在 kohana v3 中显示 'flash messages' 的最佳方式是什么?

php - 如何从数据库中获取 "generate"Web API?

arrays - 排序对象数组swift 4

python - numpy中frompyfunc和vectorize的区别

java - 使用 Stringbuilder 与整数数组的算法性能

php从rabbitmq获取消息报错

php - mysql Update 不更新?

java - 如何使用特定值填充 3d 数组

java - 排序分数?选择排序