php array_diff 数组比较要注意的地方

2015年07月21日 09:14 by:唠吧小站
php中数组a-b数组差集计算,得到的结果并不是先a+b再做差集计算。
  1. //实例代码
  2. $a=array(1=>"www.",2=>"fansart.",3=>"com",4=>"lao8.",5=>"org");
  3. $b=array(0=>"http:",1=>"lao8.",2=>"org");
  4. $c=array(0=>"www.",1=>"alens.",2=>"org");
  5. echo '<pre>';
  6. print_r(array_diff($b,$a));
  7. print_r(array_diff($a, $b));
  8. print_r(array_diff($a, $b, $c));
结果如下
  1. Array
  2. (
  3. [0] => http:
  4. )
  5. Array
  6. (
  7. [1] => www.
  8. [2] => fansart.
  9. [3] => com
  10. )
  11. Array
  12. (
  13. [2] => fansart.
  14. [3] => com
  15. )
可以看出得到的结果是 a-b或者是a-b-c , 如果b或c中的值a数组中没有则省略。