ให้เรตสมาชิก: 1 / 5

ดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

 บทที่ 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
ฮิต
4124
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-13 19:18:41

chapter_25.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 991 bytes

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

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




กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
MOD_MTB_NEWS_RECENT
เฟสให้ยืนยันตัวตนด้วยรูปเพื่อนในเฟสแต่หนูจำไม่ได้จากนั้นก็เข้าไม่ได้เลยค๊ะ
โดย บุคคลทั่วไป ศ 22 ก.ย. 2017 1:25 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
12
ศ 22 ก.ย. 2017 1:25 pm โดย บุคคลทั่วไป
สีผิวของ โปรแกรมเมอร์ และอาชีพต่างๆในฤดูร้อน
โดย Before Dong ศ 22 ก.ย. 2017 10:10 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
13
ศ 22 ก.ย. 2017 10:10 am โดย Before Dong
เรียกใช้คำสั่งในการวาดสี่เหลี่ยมและวงกลม
โดย Ik Kat พฤ 21 ก.ย. 2017 7:28 pm บอร์ด JavaScript & Jquery Ajax
0
17
พฤ 21 ก.ย. 2017 7:28 pm โดย Ik Kat
อยากรู้วิธีใส่ Google Structure ใน Joomla ว่าใส่ตำแหน่งไหนและแก้ตรงไหนบ้างครับ
โดย Before Dong พฤ 21 ก.ย. 2017 2:20 pm บอร์ด Joomla Development
0
11
พฤ 21 ก.ย. 2017 2:20 pm โดย Before Dong
เมื่อ "ลูกค้า" บอกความต้องการของระบบ
โดย Before Dong พฤ 21 ก.ย. 2017 10:29 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
20
พฤ 21 ก.ย. 2017 10:29 am โดย Before Dong
oracle Sql loader
โดย jataz2 พ 20 ก.ย. 2017 5:13 pm บอร์ด SQL - Database
0
8
พ 20 ก.ย. 2017 5:13 pm โดย jataz2
ประกันสังคมพร้อมก้าวสู่ Digital SSO ไม่ต้องพกบัตรรับรองสิทธิ ตั้งแต่วันที่ 1 ม.ค. 61 เป็นต้นไป
โดย thatsawan พ 20 ก.ย. 2017 11:03 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
26
พ 20 ก.ย. 2017 11:03 am โดย thatsawan
เมื่อคุณประชุมทีมแล้ว ทีมไม่เข้าใจที่คุณพูด
โดย Before Dong พ 20 ก.ย. 2017 10:19 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
25
พ 20 ก.ย. 2017 10:19 am โดย Before Dong
Joomla 3.8 มาแล้ว
โดย mindphp อ 19 ก.ย. 2017 9:14 pm บอร์ด PHP News
0
16
อ 19 ก.ย. 2017 9:14 pm โดย mindphp
สถานะสถานพยาบาลที่เข้าร่วมประกันสังคม 2560 อัพเดทล่าสุด
โดย thatsawan อ 19 ก.ย. 2017 11:32 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
20
อ 19 ก.ย. 2017 11:32 am โดย thatsawan
ทุกปัญหาใหญ่สำหรับ "User" เสมอ!!
โดย Before Dong อ 19 ก.ย. 2017 10:16 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
25
อ 19 ก.ย. 2017 10:16 am โดย Before Dong
เจอ Process ไม่พึงประสงค์ ผังและรัน ภายใต้ /tmp ป้องกันไม่ใช้ รันไฟล์ใน tmp
โดย mindphp อ 19 ก.ย. 2017 7:52 am บอร์ด Linux - Web Server
0
12
อ 19 ก.ย. 2017 7:52 am โดย mindphp
ใครใช้ CCleaner เวอร์ชั่นเก่า อัพเกรดด่วน ให้ใหม่กว่า เวอร์ชัน 5.33
โดย mindphp อ 19 ก.ย. 2017 5:29 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
16
อ 19 ก.ย. 2017 5:29 am โดย mindphp
facebook มันมันบังคับให้ตั้งชื่อใหม่ ให้เป็นชื่อจริงๆ
โดย บุคคลทั่วไป อ 19 ก.ย. 2017 5:18 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
16
อ 19 ก.ย. 2017 5:18 am โดย บุคคลทั่วไป
สอบถามการประยุกต์ใช้คำสั่ง rect()
โดย Ik Kat จ 18 ก.ย. 2017 6:00 pm บอร์ด JavaScript & Jquery Ajax
0
17
จ 18 ก.ย. 2017 6:00 pm โดย Ik Kat
วิธีแก้ปัญหา Can't create/write to file '/tmp/#sql_6182_0.MAI' (Errcode: 2)
โดย mindphp จ 18 ก.ย. 2017 3:40 pm บอร์ด Linux - Web Server
0
13
จ 18 ก.ย. 2017 3:40 pm โดย mindphp
ทำ pop up ให้ login wordpress
โดย บุคคลทั่วไป จ 18 ก.ย. 2017 1:26 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
0
27
จ 18 ก.ย. 2017 1:26 pm โดย บุคคลทั่วไป
ธุรกิจกระเป๋าเงินอิเล็กทรอนิกส์ หรือ e-Money คืออะไร
โดย M029 จ 18 ก.ย. 2017 11:46 am บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
18
จ 18 ก.ย. 2017 11:46 am โดย M029
สร้างฟอร์มรับข้อมูล แล้วส่งไปเก็บที่ phpmyadmin
โดย บุคคลทั่วไป จ 18 ก.ย. 2017 11:31 am บอร์ด Programming - PHP
0
29
จ 18 ก.ย. 2017 11:31 am โดย บุคคลทั่วไป
อยากจะเช็คเงื่อนไขไม่ให้เกิด error แบบนี้ EntityRef: expecting ';', ทำยังไงได้บ้างค่ะ
โดย thatsawan จ 18 ก.ย. 2017 11:28 am บอร์ด Programming - C/C++ & java & Python
4
37
จ 18 ก.ย. 2017 11:28 am โดย mindphp