Calling this function without any arguments produces a random number between zero and the system's maximum Mersenne Twister value. The maximum value can be found by calling mt_getrandmax() . Passing both the min and max arguments generates a number within the provided range.
Whereas rand() uses the standard libc rand() function, which can be slow and doesn't have a set of known characteristics, mt_rand() uses the Mersenne Twister algorithm to generate a random number that's more suitable for cryptography because of its known characteristics. This function can also be up to four times faster than the standard rand() . Before using this function, it's advisable to seed the generator using mt_srand() .
PHP Functions Essential Reference. Copyright © 2002 by New Riders Publishing (Authors: Zak Greant, Graeme Merrall, Torben Wilson, Brett Michlitsch). This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). The authors of this book have elected not to choose any options under the OPL. This online book was obtained from http://www.fooassociates.com/phpfer/ and is designed to provide information about the PHP programming language, focusing on PHP version 4.0.4 for the most part. The information is provided on an as-is basis, and no warranty or fitness is implied. All persons and entities shall have neither liability nor responsibility to any person or entity with respect to any loss or damage arising from the information contained in this book.