我有两个表,我希望使用与函数compare()
的特定比较来比较元素。问题是,我有两个表:一个是静态的,一个是动态的。我从第一个table1获得第一个元素$results1[$i]
,并将它与table2中的第一个元素进行比较(我们假设table2在时间0有一个元素)。如果compare()
函数返回的数字小于3,我将table1的第一个元素添加到table2,然后我必须将表1的第二个元素与所有元素进行比较表2。
for($i = 0; $i < count ( $results1 ); $i++) {
echo ' value 1 : ' . $results1 [$i] . ' ';
for($k = 0; $k < count ( $results2 ); $k++) {
echo ' value 2 : ' . $results2 [$k] . ' ';
compare($results1 [$i],$results2 [$k]);
}
}
function compare($element1_table1,$element2_table2){
if ($results_of_comparison< 3){
//we add element1 to table2 and
//then we compare the next element of table 1 with all elements of table2
}
}
如何使用循环将表1的下一个元素与table2的所有元素进行比较? 有人能帮帮我吗?
答案 0 :(得分:0)
如果数组具有相同的结构,您可以使用array_diff()
输出仅包含在两个数组中的第一个中的条目
$results1 = array(1,2,3,4);
$results2 = array(1,2,5);
$difference = array_diff($results1, $results2);
这将返回
3, 4
OR
如果数组具有相同的结构,您可以使用array_intersect()
输出两个数组中包含的那些条目
$results1 = array(1,2,3,4);
$results2 = array(1,2,5);
$difference = array_intersect($results1, $results2);
这将返回
1, 2
示例:
$static = array(1, 4, 6, 9);
$dynamic = array();
foreach($anything as $value){
$dynamic[] = $value;
}
$difference = array_intersect($static, $dynamic);