doutusheng5879 2018-07-03 19:07 采纳率: 0%
浏览 86
已采纳

PHP in_array函数不起作用

I have some problems with in_array() I want to create a unique number from 100-999 that is not stored in the array already, but the in_array function does not seem to work. The example below is what my code is right now.

I have pushed 2 strings to the array in the top. In the function, I try to run it, but just get the value "sb100", and I should get "sb102" because 100 and 101 are already in the array.

$uniqueIDs[] = "sb100";
$uniqueIDs[] = "sb101";

function keyExists($ui){
    for($i=100;$i<=999;$i++){
        $R = "sb".$i;
        if(in_array($R, $ui)){
            return "";
        }else{
            return $R; 
            break;
        }
    }
}    

keyExists($uniqueIDs);
  • 写回答

2条回答 默认 最新

  • ds9567 2018-07-03 19:13
    关注

    The problem is that as when it finds an element that already exists, it does return "";. Instead you just continue if it's in the array and return if it isn't the array...

    function keyExists($ui){
        for($i=100;$i<=999;$i++){
            $R = "sb".$i;
            if(!in_array($R, $ui)){
                return $R;
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?