Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 生成唯一订单号_Php_Cakephp_Unique - Fatal编程技术网

Php 生成唯一订单号

Php 生成唯一订单号,php,cakephp,unique,Php,Cakephp,Unique,我正试图通过Graph API上传Facebook页面的封面图片,但一旦更新,它就会出现在时间线上 我使用以下字符串检查我的订单号是否唯一 $unique_order_number = strtoupper(substr(md5(microtime()), 0, 8)) 现在我只想确保这个数字不被任何其他顺序占用,并且想使用while循环或do while循环来检查赋值 public function __unique_order_no() { $order_no_exisits =

我正试图通过Graph API上传Facebook页面的封面图片,但一旦更新,它就会出现在时间线上

我使用以下字符串检查我的订单号是否唯一

$unique_order_number = strtoupper(substr(md5(microtime()), 0, 8))
现在我只想确保这个数字不被任何其他顺序占用,并且想使用while循环或do while循环来检查赋值

public function __unique_order_no() {

    $order_no_exisits = $this->Order->find('first', array('order_no' => $unique_order_number));

    while (!empty($order_no_exisits)) {
        $unique_order_number = strtoupper(substr(md5(microtime()), 0, 8));
        $order_no_exisits = $this->Order->find('first', array('order_no' => $unique_order_number));
        debug($order_no_exisits);
    }

    debug($order_no_exisits);


}

如何使用While循环来运行它,直到得到一个唯一的数字?

我需要做一些类似的事情,一个保持唯一id的解决方案,我最终得到了一个使用PHP函数
time()
的解决方案,就像这样
$reference\u number='BFF-'。时间()您可以将BFF更改为对您的业务逻辑更有意义的内容。这样我就不必担心正在生成的新id以前是否被占用了

我希望这有帮助

while (!empty($order_no_exisits)) {
$unique_order_number = strtoupper(substr(md5(microtime()), 0, 8));
if(!$this->Order->find('first', array('order_no' => $unique_order_number)))
exit;
}