การสร้างเว็บเพจโดยใช้ภาษา
PHP บทที่ 25
การใช้ฟังก์ชันเพื่อสร้างตัวเลขแบบสุ่ม
การใช้ฟังก์ชันเพื่อสร้างตัวเลขแบบสุ่ม
หรือ random number generator จะคล้ายกับของภาษาซี คือ เริ่มต้นด้วย
srand () โดยจะต้องผ่านค่าที่เรียกว่า seed ซึ่งเป็นเลขจำนวนเต็มใดๆก็ได้ก่อน
โดยทั่วไปจะใช้ค่าของเวลาในหน่วยวินาที หรือ Time Stamp ซึ่งสามารถอ่านได้จากฟังก์ชัน
date("s") (s หมายถึง second หรือหน่วยวินาที) โดยผ่านค่านี้เป็นค่าของ
seed จากนั้นจึงค่อยเรียกใช้ rand()
ตัวอย่างการใช้งาน
| <?
srand( date("s") );
for ($i=0; $i < 10; $i++) {
$x = rand() % 10;
echo $x," ";
}
?> |
คำสั่งนี้จะสร้างตัวเลขโดยการสุ่มเลือกเป็นจำนวน
10 ตัวเลข และพิมพ์ออกทางเอาพุต
ตัวอย่างการใช้งานเพิ่มเติมในรูปของฟังก์ชัน
| <?
function randInt($low,$high) {
srand ( date("s") );
$range = $high - $low;
$num = (rand() % $range) + $low;
return $num;
}
?> |
ตัวอย่างนี้จะสร้างตัวเลขโดยสุ่มที่อยู่ระหว่างเลขจำนวนเต็มสองค่า
และเงื่อนไขของการใช้ฟังก์ชันนี้คือ $low จะต้องมีค่าน้อยกว่า $high
และทั้งสองต้องเป็นเลขจำนวนเต็ม
ตัวอย่างการใช้งานเพิ่มเติมในรูปของฟังก์ชันเพิ่มเติม
<?
function randStr($len) {
srand ( date("s") );
for ($i=0; $i < $len; $i++) {
$ret_str .= chr( (rand() % 26)+97
);
}
return $ret_str;
}
echo randStr(40);
?> |
ตัวอย่างนี้จะสร้างสตริงค์แบบสุ่มที่มีความยาวตามที่กำหนดและสร้างขึ้นจากตัวอักขระภาษาอังกฤษ
|