如何在两个数组中获得共同的最小值
How to get common minimum value in two arrays
我有一个函数,它检查两个数组,returns 是两个数组中的共同最小值。当两个数组的元素数量相等时,IT return 是正确答案。但是另一个更大,它不是 return 正确的。如何克服这个问题?
<?php
$A = array(0);
$B= array(1,0);
$n = sizeof($A);
$m = sizeof($B);
sort($A);
sort($B);
$i = 0;
for ($k = 0; $k < $n; $k++) {
if ($i < $m - 1 AND $B[$i] < $A[$k])
$i += 1;
if ($A[$k] == $B[$i])
echo $A[$k];
}
echo "end";
?>
谢谢
一种更简单的方法是取数组交集的最小值:
$array = array (5,6,7,8,9);
$array2 = array (9,7,5,3,4,1);
$min = min(array_intersect($array, $array2));
echo $min; // 5
杠杆PHP函数array_intersect() to extract common values in two arrays, then fetch the minumum value by using min()
像这样:
<?php
$arrayOne = [1, 3, 5, 6, 7];
$arrayTwo = [0, 9, 2, 3, 4, 5];
echo min(array_intersect($arrayOne, $arrayTwo)); // 3
我会使用 array_intersect。它会给你一个数组,其中只有你正在查看的两个数组中都存在的值,然后你可以找到数组中的最低值
$A = array(0,5,4,3,2,1,4);
$B = array(0,1,3,4);
$C = array_intersect($A, $B);
$low = $C[0];
for($i = 0; $i < count($C); $i++) {
if($C[$i] < $low)
$low = $C[$i];
}
echo "Lowest shared number is $low";
我有一个函数,它检查两个数组,returns 是两个数组中的共同最小值。当两个数组的元素数量相等时,IT return 是正确答案。但是另一个更大,它不是 return 正确的。如何克服这个问题?
<?php
$A = array(0);
$B= array(1,0);
$n = sizeof($A);
$m = sizeof($B);
sort($A);
sort($B);
$i = 0;
for ($k = 0; $k < $n; $k++) {
if ($i < $m - 1 AND $B[$i] < $A[$k])
$i += 1;
if ($A[$k] == $B[$i])
echo $A[$k];
}
echo "end";
?>
谢谢
一种更简单的方法是取数组交集的最小值:
$array = array (5,6,7,8,9);
$array2 = array (9,7,5,3,4,1);
$min = min(array_intersect($array, $array2));
echo $min; // 5
杠杆PHP函数array_intersect() to extract common values in two arrays, then fetch the minumum value by using min()
像这样:
<?php
$arrayOne = [1, 3, 5, 6, 7];
$arrayTwo = [0, 9, 2, 3, 4, 5];
echo min(array_intersect($arrayOne, $arrayTwo)); // 3
我会使用 array_intersect。它会给你一个数组,其中只有你正在查看的两个数组中都存在的值,然后你可以找到数组中的最低值
$A = array(0,5,4,3,2,1,4);
$B = array(0,1,3,4);
$C = array_intersect($A, $B);
$low = $C[0];
for($i = 0; $i < count($C); $i++) {
if($C[$i] < $low)
$low = $C[$i];
}
echo "Lowest shared number is $low";