前段时间和一个人聊天,聊到怎么用一个方法一次对两个数组取差集,我说使用array_diff倒是可以做到这个,但是不能只用一次,得两次.然后他就开始跟我讲他理解的array_diff的底层原理:“首先php会对两个数组取交集,然后会把两个数组中不属于交集的元素全部返回,所以只需要一次就够了,根本不用两次”. 说实话,我也希望是这样,但是事实不是这样,以下是php(php-7.0.7)的源码 PHP_FUNCTION(array_diff) { zval *args; int argc, i; ui…