我有一个在php中很难用言语解释的小问题。我有一个包含键值对的关联数组。我想要编写一个函数(或者如果已经有了一个函数)来接收输入的数组并删除两个方向上的重复项。
例如:
在我的数组中,我有 {a -> b} {a -> c} {b -> a} {b -> c} ...
从这个角度来看,似乎没有任何重复项,但对我而言 {a -> b} 和 {b -> a} 是重复的。因此,我希望函数将其视为重复项,并只返回其中一个。
我尝试使用array_flip / array_unique在循环中交换键和值,但并不是很成功。
你能帮忙找到一种即使是长度很长的数组也能实现这样的方法吗?或者是否有一个PHP函数可以实现?
非常感谢您的帮助!谢谢。
以下是代码以说明这个思路:
对于一个像这样的数组:
例如:
在我的数组中,我有 {a -> b} {a -> c} {b -> a} {b -> c} ...
从这个角度来看,似乎没有任何重复项,但对我而言 {a -> b} 和 {b -> a} 是重复的。因此,我希望函数将其视为重复项,并只返回其中一个。
我尝试使用array_flip / array_unique在循环中交换键和值,但并不是很成功。
你能帮忙找到一种即使是长度很长的数组也能实现这样的方法吗?或者是否有一个PHP函数可以实现?
非常感谢您的帮助!谢谢。
以下是代码以说明这个思路:
对于一个像这样的数组:
Array (
[0] => Array ( [0] => a [1] => b)
[1] => Array ( [0] => a [1] => c )
[2] => Array ( [0] => b [1] => a )
[3] => Array ( [0] => b [1] => c )
)
a->b
和b->a
,而不是a->b
和a->c
或a->b
和c->b
? - Alasdair