使用 array_search 输出 common int

我正在尝试创建一个函数,该函数将输出最小的公共 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();

?>


慕的地6264312
浏览 94回答 1
1回答

HUWWW

这是一种不同的方法。首先,我找到可能是 $min 的最小数字。然后我循环 $a 数组并跳过,直到找到至少 $min。如果 $b 和 $c 的数组搜索不为假,那么我们找到最低可能的匹配并破解代码。function smallest_common_number(){&nbsp; &nbsp; global $a, $b, $c;&nbsp; &nbsp; $min = max(min($a), min($b), min($c));&nbsp; &nbsp; foreach ($a as $value) {&nbsp; &nbsp; &nbsp; &nbsp; if($value >= $min){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(array_search($value, $b) !== false && array_search($value, $c) !== false){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo $value;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}但最简单的代码可能是 array_intersect。但 OP 要求 array_search ...function smallest_common_number(){&nbsp; &nbsp; global $a, $b, $c;&nbsp; &nbsp; echo min(array_intersect($a, $b, $c));}
打开App,查看更多内容
随时随地看视频慕课网APP