如何知道 return 来自 array_intersec 的一对密钥

How to know the pair of key that return from array_intersec

我有这些数组:

$a = ['a','b','c','d','e','f'];
$b = ['d','e','f'];

如果我对上面的数组使用 array_intersect,例如

$c = array_intersect($a, $b);
$d = array_intersect($b,$a);

$c 将 return :

Array
(
    [3] => d
    [4] => e
    [5] => f
)

$d 将 return :

Array
(
    [0] => d
    [1] => e
    [2] => f
)

我怎样才能知道那些 array_intersection 之类的密钥对,

[3] --> [0]
[4] --> [1]
[5] --> [2]

我的意思是,数组 $a 的索引 [3] 与数组 $b 中的索引 [0] 相交。我怎么知道??

非常感谢。

<?php
$a = ['a', 'b', 'c', 'd', 'e', 'f'];
$b = ['d', 'e', 'm', 'f'];
$intersect = array_intersect($a, $b);
$key_intersect = [];
foreach ($intersect as $key => $value) {
    $key_intersect[$key] = array_search($value, $b);
}
var_dump($key_intersect);

array $b 中,我插入了一个额外的元素来检查它是否可以正常工作,即使还有一些元素。

你想要这样吗:-

<?php

$a = ['a','b','c','d','e','f'];
$b = ['d','e','f'];
$c=  array_intersect( $a,$b);
$d=  array_intersect( $b,$a);
$intersection_keys_array = array_combine (array_keys($c),array_keys($d)); // combine $c and $d so that $c values become key and $d values become values in resultant array
print_r($intersection_keys_array);

输出:- https://eval.in/768032

更花哨的输出:- https://eval.in/768033