ความหมายและการใช้งาน
คำนำหน้า 'mt' ในชื่อฟังก์ชันย่อมาจาก Mersenne Twister . mt_rand() ฟังก์ชันส่งคืนจำนวนเต็มโดยใช้วิธี Mersenne Twister Random Number Generator ฟังก์ชันนี้เป็นฟังก์ชันแทนที่ดรอปอินสำหรับฟังก์ชัน rand() ของ PHP ช่วงเริ่มต้นอยู่ระหว่าง 0 และเฉพาะแพลตฟอร์ม mt_getrandmax() บนระบบปฏิบัติการ Windows 64 บิต คือ 2147483647 ฟังก์ชัน mt_rand() สามารถเรียกได้โดยไม่มีอาร์กิวเมนต์ (ซึ่งในกรณีนี้ จะใช้ช่วงเริ่มต้น) หรือโดยการระบุพารามิเตอร์ต่ำสุดและสูงสุด
ฟังก์ชันนี้จะคืนค่าจำนวนเต็มเสมอ
ไวยากรณ์
mt_rand ( void ) : int mt_rand ( int $min , int $max ) : int
พารามิเตอร์
Sr.No | พารามิเตอร์ &คำอธิบาย |
---|---|
1 | นาที ขีดจำกัดล่างของช่วงเพื่อส่งคืนตัวเลข ค่าเริ่มต้นคือ0 |
2 | สูงสุด ขีดจำกัดบนของช่วงที่จะส่งคืนตัวเลข ค่าเริ่มต้นคือ mt_ getrandmax() |
คืนค่า
ฟังก์ชัน PHP mt_rand() ส่งคืนค่าจำนวนเต็มระหว่าง min และ max โดยใช้เทคนิค Mersenne Twister Random Number Generator ฟังก์ชันนี้เร็วกว่าฟังก์ชัน rand() ถึงสี่เท่า โปรดทราบว่านี่ไม่ใช่ .advised ที่จะใช้เพื่อวัตถุประสงค์ในการเข้ารหัส
เวอร์ชัน PHP
ฟังก์ชันนี้มีอยู่ใน PHP เวอร์ชัน 4.x, PHP 5.x เช่นเดียวกับ PHP 7.x
ตัวอย่าง
ตัวอย่างนี้ส่งคืนตัวเลขสุ่มโดยการเรียก mt_rand() โดยไม่มีอาร์กิวเมนต์−
<?php echo "random number with no parameters mt_rand() = " . mt_rand() . "\n"; echo "another random number with no parameters mt_rand() = " . mt_rand() . "\n"; ?>
ผลลัพธ์
ซึ่งอาจให้ผลลัพธ์ดังต่อไปนี้ (เนื่องจากเป็นตัวเลขสุ่ม มีโอกาสส่งคืนหมายเลขที่แตกต่างกันทุกครั้ง)−
random number with no parameters mt_rand() = 173620951 another random number with no parameters mt_rand() = 749065865
ตัวอย่าง
ตัวอย่างต่อไปนี้ระบุอาร์กิวเมนต์ min และ max สำหรับฟังก์ชัน mt_rand()
<?php echo "mt_rand(11,30) = " . mt_rand(11,30) . "\n"; echo "mt_rand(11,30) = " . mt_rand(11,30) . "\n"; ?>
ผลลัพธ์
ซึ่งอาจให้ผลลัพธ์ดังต่อไปนี้ (เนื่องจากเป็นตัวเลขสุ่ม มีแนวโน้มที่จะส่งกลับหมายเลขที่ต่างกันทุกครั้ง)−
mt_rand(11,30) = 24 mt_rand(11,30) = 14
ตัวอย่าง
ส่วนเศษส่วนของค่าทศนิยมของพารามิเตอร์ min และ max จะถูกละเว้น−
<?php echo "mt_rand(10.5,50.95) = " . mt_rand(10.55, 50.95) . "\n"; ?>
ผลลัพธ์
ซึ่งอาจให้ผลลัพธ์ดังต่อไปนี้−
mt_rand(10.5,50.95) = 31