开发者

Get the real difference between two arrays in php

I'm trying to get the difference between two arrays, but with array_diff, array_diff_assoc, or array_diff_key I can't get what I want..

Array 1 :
  0 => 424012,
  1 => 423000,
  2 => 425010,
  3 => 431447,
  4 => 421001,
  5 => 421002,

Array 2 :
  0 => 424012,
  1 => 423000,
  2 => 425010,
  3 => 431447,
  4 => 431447,
  5 => 421001,
  6 => 421002,

开发者_如何学编程array_diff =  array () 
// empty

jarray_diff_assoc = array ( 
  4 => 431447,
  5 => 421001,
  6 => 421002,
) 
// OK but too much :)

array_diff_key = array(
6 => 421002
) 
// nope i don't want that :(

I want 431447, cause it's only one time in the first array and twice in the second.

Regards, Tony


Is that exactly what you want? Only those that occur one time in the first, and two times in the second?

You can basically write your own function for that. Search through the second array, get a list of values that occur two times (or more than once, depending on what it is that you actually want), and then search for those in the first one (this you can do using a built-in PHP function array_intersect).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜