让我们说这是我的sql数据库列值:
Result - Reference
1 A1
2 A2
3 A3
4 A4
5 A5
获取上面的列后,我有以下数组:
$inputValue = array(1,3,5); //This is the User Input
$result = array(1,2,3,4,5); //This is the mysql fetched result of 'Results' column
$reference = array('A1','A2','A3','A4','A5'); //This is the fetched result of 'Reference' column
$filteredData = array_intersect($inputValue, $result);
print_r($filteredData);
当我array_intersect($inputValue, $result);
时,这会给出输出:
Array ( [0] => 1
[1] => 3
[2] => 5 )
现在在array_intersect之后,我如何将相应的引用存储到另一个数组中?意思是,在交叉之后,$filteredData
具有数组值1,3,5
。现在我还希望相应的引用存储在一个单独的数组中,该数组应具有以下值:$MatchingReference = array(A1,A3,A5);
这是怎么做到的?
答案 0 :(得分:2)
我会试试这个:
$filteredReferences = array();
foreach($filteredData as $key) {
$filteredReferences[] = $reference[$key-1];
}
答案 1 :(得分:1)
将数据库中的两个数组合并为一个关联数组。然后使用用户输入仅选择键的子集。
$filteredData = array_intersect_key(
array_combine($result, $reference),
array_flip($inputValue)
);