我正在尝试创建一个函数,该函数将输出最小的公共 int 或如果三个数组中没有一个则返回 false。数组按升序排序,我想使用 array_search。当我执行这段代码时,它什么都不返回,我不知道为什么它应该回显 5 我认为<?php$a=array(1,2,3,5,6);$b=array(2,3,4,5,6);$c=array(4,5,6,7,8);$arrlength = count($a);function smallest_common_number(){ global $a, $b, $c; foreach ($a as $value) { $x=array_search($a[0], $b); array_search($x,$c); echo $x }}smallest_common_number();?>
1 回答
HUWWW
TA贡献1874条经验 获得超12个赞
这是一种不同的方法。
首先,我找到可能是 $min 的最小数字。
然后我循环 $a 数组并跳过,直到找到至少 $min。
如果 $b 和 $c 的数组搜索不为假,那么我们找到最低可能的匹配并破解代码。
function smallest_common_number(){
global $a, $b, $c;
$min = max(min($a), min($b), min($c));
foreach ($a as $value) {
if($value >= $min){
if(array_search($value, $b) !== false && array_search($value, $c) !== false){
echo $value;
break;
}
}
}
}
但最简单的代码可能是 array_intersect。但 OP 要求 array_search ...
function smallest_common_number(){
global $a, $b, $c;
echo min(array_intersect($a, $b, $c));
}
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消