Php 生成唯一订单号
我正试图通过Graph API上传Facebook页面的封面图片,但一旦更新,它就会出现在时间线上 我使用以下字符串检查我的订单号是否唯一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 =
$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;
}