บทที่ 25 การใช้ฟังก์ชัน เพื่อสร้างตัวเลขแบบสุ่ม

การใช้ฟังก์ชันเพื่อสร้างตัวเลขแบบสุ่ม หรือ random number generator จะคล้ายกับของภาษาซี คือ เริ่มต้นด้วย srand () โดยจะต้องผ่านค่าที่เรียกว่า seed ซึ่งเป็นเลขจำนวนเต็มใดๆก็ได้ก่อน โดยทั่วไปจะใช้ค่าของเวลาในหน่วยวินาที หรือ Time Stamp ซึ่งสามารถอ่านได้จากฟังก์ชัน date("s") (s หมายถึง second หรือหน่วยวินาที) โดยผ่านค่านี้เป็นค่าของ seed จากนั้นจึงค่อยเรียกใช้ rand()

ตัวอย่างการใช้งาน
 

ไฟล์ตัวอย่าง :: code_ex1.php
<?php
srand( date("s") );
for ($i=0; $i < 10; $i++) {
  $x = rand() % 10;
  echo $x,"  ";
}
?>

คำสั่งนี้จะสร้างตัวเลขโดยการสุ่มเลือกเป็นจำนวน 10 ตัวเลข และพิมพ์ออกทางเอาพุต

ตัวอย่างการใช้งานเพิ่มเติมในรูปของฟังก์ชัน
 

ไฟล์ตัวอย่าง :: code_ex2.php
<?php
function randInt($low,$high) {
  srand ( date("s") );
  $range = $high - $low;
  $num = (rand() % $range) + $low;
  return $num;
}
?>

ตัวอย่างนี้จะสร้างตัวเลขโดยสุ่มที่อยู่ระหว่างเลขจำนวนเต็มสองค่า และเงื่อนไขของการใช้ฟังก์ชันนี้คือ $low จะต้องมีค่าน้อยกว่า $high และทั้งสองต้องเป็นเลขจำนวนเต็ม

ตัวอย่างการใช้งานเพิ่มเติมในรูปของฟังก์ชันเพิ่มเติม
 

ไฟล์ตัวอย่าง :: code_ex3.php
<?php
function randStr($len) {
srand ( date("s") );
$ret_str ="";
for ($i=0; $i < $len; $i++) {
$ret_str .= chr( (rand() % 26)+97 );
}
return $ret_str;
}
echo randStr(40);
?>

ตัวอย่างนี้จะสร้างสตริงค์แบบสุ่มที่มีความยาวตามที่กำหนดและสร้างขึ้นจากตัวอักขระภาษาอังกฤษ

หัวเรื่อง
บทที่ 25 การใช้ฟังก์ชัน เพื่อสร้างตัวเลขแบบสุ่ม
หมวดหมู่
PHP Basics, PHP Basics
ฮิต
38942
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:18:41

chapter_25.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 991 bytes

ผู้อัพโหลดไฟล์ thatsawan

วันที่อัพโหลด 2014-04-21 14:41:42




กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามวิธีการสร้าง tab delimited text file ด้วย python โดยไม่ต้อง save ลงเครื่องค่ะ
โดย MBMoo ศ 08 ธ.ค. 2023 4:45 pm บอร์ด Programming - C/C++ & java & Python
3
5207
ศ 08 ธ.ค. 2023 5:18 pm โดย mindphp View Topic สอบถามวิธีการสร้าง tab delimited text file ด้วย python โดยไม่ต้อง save ลงเครื่องค่ะ
วิธีแก้ไขกรณีที่ Toolbar ไม่ขึ้นแสดงใน Joomla 5
โดย Thanapoom1514 ศ 08 ธ.ค. 2023 3:22 pm บอร์ด Joomla Developing Knowledge
0
984
ศ 08 ธ.ค. 2023 3:22 pm โดย Thanapoom1514 View Topic วิธีแก้ไขกรณีที่ Toolbar ไม่ขึ้นแสดงใน Joomla 5
แนะนำการใช้งานเว็บไซต์ถอดข้อความออกจากรูป Image to Text Converter
โดย Yabaii123 พฤ 07 ธ.ค. 2023 4:36 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
932
พฤ 07 ธ.ค. 2023 4:36 pm โดย Yabaii123 View Topic แนะนำการใช้งานเว็บไซต์ถอดข้อความออกจากรูป  Image to Text Converter
แนะนำตัวอย่าง Keyword ต่างๆสำหรับใช้ค้นหาเว็บแปลงไฟล์อย่างง่าย
โดย Yabaii123 พฤ 07 ธ.ค. 2023 2:50 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
627
พฤ 07 ธ.ค. 2023 2:50 pm โดย Yabaii123 View Topic แนะนำตัวอย่าง Keyword ต่างๆสำหรับใช้ค้นหาเว็บแปลงไฟล์อย่างง่าย
สอบถามฟังก์ชัน Access::getActions() ใน joomla 5 ใช้ฟังก์ชันตัวไหนแทนครับ
โดย Thanapoom1514 พ 06 ธ.ค. 2023 7:20 pm บอร์ด Joomla Development
1
1067
พ 06 ธ.ค. 2023 8:33 pm โดย mindphp View Topic สอบถามฟังก์ชัน Access::getActions() ใน joomla 5 ใช้ฟังก์ชันตัวไหนแทนครับ
แนะนำการท่องเที่ยวและการเดินทางในจังหวัดเชียงราย
โดย Yabaii123 จ 04 ธ.ค. 2023 4:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
6
1164
อ 05 ธ.ค. 2023 10:16 am โดย Yabaii123 View Topic แนะนำการท่องเที่ยวและการเดินทางในจังหวัดเชียงราย
เขียน Python จัดการภาพภาย crop ภาพถ่ายเอาเฉพาะใบหน้า
โดย mindphp ส 02 ธ.ค. 2023 9:18 am บอร์ด Python Knowledge
1
456
ส 02 ธ.ค. 2023 9:54 am โดย mindphp View Topic เขียน Python จัดการภาพภาย crop ภาพถ่ายเอาเฉพาะใบหน้า
แนะนำการใช้ Profiler ของ Joomla เช็คความเร็วของการทำงานของระบบ
โดย Thanapoom1514 ศ 01 ธ.ค. 2023 4:38 pm บอร์ด Joomla Developing Knowledge
0
588
ศ 01 ธ.ค. 2023 4:38 pm โดย Thanapoom1514 View Topic แนะนำการใช้ Profiler ของ Joomla เช็คความเร็วของการทำงานของระบบ