我有以下数据结构:
array (size=3)
0 =>
array (size=4)
0 => string 'apple' (length=5)
1 => string 'colophon' (length=8)
2 => string 'byo-fusion-drive' (length=16)
3 => string 'scroll-targeting' (length=16)
1 =>
array (size=3)
0 => string 'apply' (length=5)
1 => string 'exploring-web-typography' (length=24)
2 => string 'on-performance-content-management' (length=33)
2 =>
array (size=3)
0 => string 'macbook' (length=7)
1 => string 'colophon' (length=8)
2 => string 'nifty-minidrive' (length=15)
我试图找出我的数组集合中的哪些数组(如果有)共享一个共同的值。
例如:数组 0 和 2 共享字符串“colophon”。
我尝试过使用 array_intersect ,但这当然会返回 NULL,因为数组 1 与其他数组没有共同的值。
此外,在任何给定的集合中都可能(甚至可能)没有共同价值。数组的集合将始终包含至少两个数组。集合中可能有任意数量的附加数组。
有了上面描述的数据,最终结果应该是这样的:
array (size=2)
0 =>
array (size=4)
0 => string 'apple' (length=5)
1 => string 'colophon' (length=8)
2 => string 'byo-fusion-drive' (length=16)
3 => string 'scroll-targeting' (length=16)
1 =>
array (size=3)
0 => string 'macbook' (length=7)
1 => string 'colophon' (length=8)
2 => string 'nifty-minidrive' (length=15)
即:删除数组 1(从原始数组),因为它没有共同的价值。
我确信有一种简单的方法可以做到这一点,但我已经尝试了 8 个多小时,并决定寻求帮助。
任何人?