-2

プロジェクトで一意の ID を作成したいと考えています。私はこれを使用しました

$key = md5(microtime().rand());

しかし、次のような一意の ID を作成したい:HPSEMP001など。HPSEMP002HPSEMP003

私はこれを行うことができません私を助けてください私はPHPが初めてです

4

2 に答える 2

1

乱数を生成するための再帰関数を作成できます。これは、データベースで数値が使用可能かどうかにかかわらず、データベースでもチェックされます。

私の例では、以下のコードを使用して顧客用に異なるランダムな departmentCode を作成しました。

/**
 * Generate Random number and check if it is exist or not
 */
public function checkAndGenerateRandomNumber($customerId) {
    $number = sprintf("%04s", rand(1,9999));
    $response = ClassRegistry::init('Department')->find('first', array('conditions' => array('Department.customer_id' => $customerId, 'Department.code' => $number)));  
    if(isset($response) && !empty($response)) {
        $this->checkAndGenerateRandomNumber($customerId);
    } else {
        return $number;
    }
}
于 2013-11-09T10:59:01.860 に答える