0
我有一个包含值的数组的长列表。我正在尝试编写一个脚本,用于在数组中找到重复的键/值对,并向我报告,以便我知道哪些数组具有相同的数据。处理PHP数组列表以找到包含相同键/值的数组
$array = array(
'one' => array('foo' => 'foo', 'baz' => 'baz', 'bar' => 'bar'),
'two' => array('foo' => 'foo', 'baz' => 'baz', 'nil' => 'nil'),
'three' => array('foo' => 'foo', 'var' => 'var'),
'four' => array('var' => 'var', 'nil' => 'nil'),
'five' => array('bar' => 'bar')
);
// First failed attempt
//call_user_func_array('array_intersect_assoc', $array));
结果应该能够识别2个或更多数组共享相同的键和值。
array(
array(
'keys' => array('one', 'two', 'three'),
'values' => array('foo' => 'foo')
),
array(
'keys' => array('one', 'five'),
'values' => array('bar' => 'bar')
),
array(
'keys' => array('one', 'two'),
'values' => array('foo' => 'foo', 'baz' => 'baz')
),
array(
'keys' => array('three', 'four'),
'values' => array('var' => 'var')
),
array(
'keys' => array('two', 'four'),
'values' => array('nil' => 'nil')
),
);
什么是处理这些数组的正确方法?我怎样才能实现这样的事情?
看看'array_intersect',这可能有所帮助。 – ngen 2012-03-02 00:30:57
如果所有的键和值都相等,你应该重新考虑你的数据结构。反正代表什么? – phihag 2012-03-02 00:32:06
@phihag,我正在处理传入我的应用程序的数据。我需要找到重复的东西,以便它们可以固定或合并在一起。 – Xeoncross 2012-03-02 00:44:51