有点简单的PHP数组交集问题

Lac*_*cD. 6 php arrays intersection key

也许我会疯了,但我可以发誓有一个PHP核心函数,它将两个数组作为参数:

$a = array('1', '3');
$b = array('1'=>'apples', '2'=>'oranges', '3'=>'kiwis');
Run Code Online (Sandbox Code Playgroud)

并执行一个交集,$a检查数组中的值是否与数组中的键发生冲突$b.回归之类的

array('1'=>'apples', '3'=>'kiwis');
Run Code Online (Sandbox Code Playgroud)

这样的功能是否存在(我在文档中遗漏了),还是有一种非常优化的方法来实现同样的功能?

Raz*_*Raz 10

尝试使用array_flip {切换键及其值},然后在您的示例中使用array_intersect():

$c = array_flip($b); // so you have your original b-array
$intersect = array_intersect($a,c);
Run Code Online (Sandbox Code Playgroud)

  • `array_intersect_key($ b,array_flip($ a))`原来是完成这项工作的.干杯! (6认同)