mt_srand
تابع mt_srand «بذر تصادفی mt_srand» را تنظیم می کند. بذر (Seed) یعنی نقطه شروع تولید اعداد تصادفی؛ مثل شماره شروع در قرعه کشی.
تعریف و کاربرد بذر تصادفی mt_srand
طبق منبع، mt_srand() مولد «Mersenne Twister» را بذرگذاری می کند. با بذر یکسان، دنباله اعداد تکراری می شود.
سینتکس (Syntax)
<?php
mt_srand(seed, mode);
?>
مثال ساده از منبع
<?php
mt_srand(mktime());
echo mt_rand();
?>
انتخاب حالت (mode) الگوریتم
برای mode می توان از ثابت های MT_RAND_MT19937 (پیاده سازی درست) یا MT_RAND_PHP (قدیمی) استفاده کرد.
<?php
mt_srand(mktime(), MT_RAND_MT19937);
echo mt_rand();
?>
نکته: از PHP 4.2.0 بذر به صورت خودکار تنظیم می شود.
گام های عملی
- کد نمونه را اجرا کن و مقدار را ببین.
- دوباره اجرا کن و تفاوت را بررسی کن.
- یک بذر ثابت بگذار و تکرارپذیری را چک کن.
لینک های مفید داخلی
بیشینه بازه تصادفی را با mt_getrandmax ببین. تولید عدد را با mt_rand انجام بده. همچنین بذر تصادفی mt_srand را مرور کن.
جمع بندی سریع
- mt_srand بذر مولد را تنظیم می کند.
- بذر برابر، خروجی تکراری می دهد.
- حالت MT19937 پیاده سازی صحیح است.
- از PHP 4.2.0 بذر خودکار می شود.