首页 > 解决方案 > 如何将新数组与原始数组匹配

问题描述

这很难解释,但我会尽力而为。

在 html 中,得到一行 ABCD E 项。它们不在数组中。

现在得到了另一个数组,即Num[]={1,2,3,4,5,6,7,8,9}.

想象一下A=1, B=2, C=3, D=4, E=5, 0=6, 0=7, 0=8, 0=9。

现在,我使用复选框来检查项目 B、C、E 并形成一个数组check[]={B,C,E}

问题是:如何知道新数组check[0]=2, check[1]=3, check[2]=5?

对不起,我不能很好地解释,对我来说它很复杂。(没有提供代码,因为它太长了)

标签: phphtmlarrays

解决方案


使用array_intersect()which 匹配两个数组(第一个数组和一个具有您要查找的值的数组)为您提供一个数组,其中仅包含这些项目和第一个数组中的键。然后,您可以使用array_intersect_key()which 从第二个数组中提取项目,并使用在第一步中提取的键。

$a1 = ['A', 'B', 'C', 'D', 'E'];
$a2 = [1,2,3,4,5];
$a3 = ['A', 'D'];
$a4 = array_intersect_key($a2, array_intersect($a1, $a3));
print_r($a4);

哪个输出...数组

(
    [0] => 1
    [3] => 4
)

array_values()如果您希望键是连续的,您可以使用。

$a4 = array_values(array_intersect_key($a2, array_intersect($a1, $a3)));

推荐阅读