如何生成不在特定数组中的唯一字符串?

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;
}