我正在尝试通过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循环运行它直到我得到一个唯一的数字?
答案 0 :(得分:1)
我需要做类似的事情,一个保持唯一ID的解决方案,我最终得到了一个使用PHP函数time()
的解决方案,就像这样$reference_number = 'BFF-' . time();
你可以将BFF更改为更有意义的东西对你的业务逻辑。这样我就不必担心之前是否会采用正在生成的新ID。
我希望这会有所帮助
答案 1 :(得分:1)
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;
}