为了账号安全,请及时绑定邮箱和手机立即绑定

使用 array_search 输出 common int

使用 array_search 输出 common int

PHP
慕的地6264312 2023-05-26 16:07:24
我正在尝试创建一个函数,该函数将输出最小的公共 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));

}


查看完整回答
反对 回复 2023-05-26
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信