علی
7 سال پیش توسط علی مطرح شد
5 پاسخ

تولید عدد یکتا در PHP

سلام دوستان برای تولید یک عدد یکتا میشه از time() استفاده کرد ؟
فرذض کنید در لحظه مثلا شاید صد نفر میخان در سایت وارد شن یا ثبت نام کنن . میخایم یه شماره یکتا به هرکدوم بدیم. ازین روش میشه استفاده کرد ؟
تابع uniqueid() در php چیست ؟ واقعا این تابع یکتا هست ؟ من فقط یکتای عددی میخام


ثبت پرسش جدید
محمد قنبری
تخصص : full-stack web application
@mavin 7 سال پیش آپدیت شد
2

همیشه یه درصد خطای وجود داره تو این موارد
بله time خوبه ولی زیاد مناسب نیست
مثلا درخواست ها اگر پشت سر هم و در یک بازه زمانی باشند احتمال خطا هست (اگر فیلد جدولتون یونیک باشه).
معمولا تایم رو به یک عدد رندوم وصل می کنند که درصد خطا کمتر بشه

$time = time();
$rand = mt_rand(1000, 9999);
$unique = $time . $rand;

مرتضی فتحی
@mortezaa.fathi 7 سال پیش مطرح شد
1

از تابع ()uniqid استفاده کنی بهتره
توضیحات کامل
http://php.net/manual/en/function.uniqid.php


علی
تخصص : Laravel
@alif 7 سال پیش مطرح شد
0

خب این uniquid واقعا عدد بکتا تولید میکنه ؟ برای چه بازه زمانی ای؟
از کجا متوجه میشه که قبلا این عدد تولید نشده ؟ اصلا نمیفهممش


مرتضی فتحی
@mortezaa.fathi 7 سال پیش مطرح شد
0

خب واضحه هیچ تابعی 100 درصد ضمانت تولید آیدی یونیک نمیکنه ولی این فانکش تا حدود زیادی سعی میکنه یونیک باشه
و اینکه اگه توضحیات خود پی اچ پی رو میخوندی نوشته که تایم استمپ بیس هست خروجی تابع


mrwebdeveloper
تخصص : Front End Engineer
@mrwebdeveloper 7 سال پیش مطرح شد
0

بهترین منبع سایت خود php
http://php.net/manual/en/function.uniqid.php
با مثال و توضیحات


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام