如何生成不进入特定数组的唯一字符串


How to generate unique string which in not into specific array?

我想生成唯一的字符串。

我的代码是:

function string(){
    $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $str= '';
    for ($i = 0; $i < 3; $i++) {
        $str.= $characters[rand(0, strlen($characters) - 1)];
    }
    return $str;
}

上面的代码通过 我是生成唯一字符串,但该字符串不得在下面的数组中

$array = array('adc','Fs5','sf9','9Sf', ..........);

有人知道如何做到这一点吗?

$array = array('adc','Fs5','sf9','9Sf', ..........);
function string() {
    global $array;
    $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    do {
      $str= '';
      for ($i = 0; $i < 3; $i++) {
        $str.= $characters[rand(0, strlen($characters) - 1)];
      } 
    } while (in_array($str, $array));
    return $str;
}