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

- 2 سال پیش
توسط mrwebdeveloper آپدیت شد
علی ( 7696 تجربه )
2 سال پیش

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

بهترین پاسخ انتخاب شده توسط علی
محمد قنبری
2 سال پیش

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

$time = time();
$rand = mt_rand(1000, 9999);
$unique = $time . $rand;
محمد قنبری ( 1682 تجربه )
2 سال پیش

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

$time = time();
$rand = mt_rand(1000, 9999);
$unique = $time . $rand;
مرتضی فتحی ( 234 تجربه )
2 سال پیش

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

علی ( 7696 تجربه )
2 سال پیش

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

مرتضی فتحی ( 234 تجربه )
2 سال پیش

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

mrwebdeveloper ( 1427 تجربه )
2 سال پیش

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

برای ارسال پاسخ باید وارد سایت شوید