blog » Tip&Trick / Web Programming » [PHP] สุ่มเลขบัตรประชาชน ลองเขียนเล่นๆ

[PHP] สุ่มเลขบัตรประชาชน ลองเขียนเล่นๆ

วันนี้ลองหาตัว CODE สุ่มเลขบัตรมาหาไม่ได้ซะที เจอแต่วิธีคำนวนเลขบัตรเลยได้เว็บนี้มา เนื้อหา copy มาบางส่วน
http://www.viruscom2.com/tip-computer/number.html

:: หลักการ การคำนวนหาเลขบัตรประชาชน ::
1.มั่วตัวเลข 12 ตัวขึ้นมาแล้วแยกหลักซะ
1 2 1 3 1 4 1 5 1 6 1 7

2.คูณเข้าไปด้วยค่าประจำหลักของตัวเลขนั้นๆ (ตัวเลข 13-2 ที่ใช้คูณเป็นค่าคงที่)
(1×13) (2×12) (1×11) (3×10) (1×9) (4×8) (1×7) (5×6) (1×5) (6×4) (1×3) (7×2)

3.จะได้ตัวเลขต่อไปนี้
13 24 11 30 9 32 7 30 5 24 3 14

4.เอาตัวเลขมาบวกกันทั้งหมด
13+24+11+30+9+32+7+30+5+24+3+14= 202

5.เอาตัวเลขที่หามาได้หารด้วย11 แล้วเอาเศษมันมา
202/11 = 4

6.ต่อมาก็ให้เอาเศษที่เราหามาได้นั้นไปลบกับ 11
11-4 = 7

7.ตัวเลขที่ออกมาก็คือ
1213141516177

:: ทีนี้มาลองดู PHP Code กันว่าเป็นยังไงจากหลักการข้างบน ::
for( $i = 1; $i <= 12; $i++ )
{
$n[$i] = rand(1,9);
}
$step1 = ( ( $n[1] * 1 ) + ( $n[2] * 12 ) + ( $n[3] * 11 ) + ( $n[4] * 10 ) + ( $n[5] * 9 ) + ( $n[6] * 8 ) + ( $n[7] * 7 ) + ( $n[8] * 6 ) + ( $n[9] * 5 ) + ( $n[10] * 4 ) + ( $n[11] * 3 ) + ( $n[12] * 2 ) );
$step2 = ( $step1 % 11 );
$step3 = ( 11 - $step2 );
echo $n[1].$n[2].$n[3].$n[4].$n[5].$n[6].$n[7].$n[8].$n[9].$n[10].$n[11].$n[12].$step3;

** วิธีคำนวนหาเศษ = ( $a % $b )

อ้างอิง
http://www.viruscom2.com/tip-computer/number.html
RSS 2.0 | leave a response | trackback

2 Responses

  1. มี.ค. 28th, 2010 / 11:51 SCRIPTPER Says:

    ต้องลอง เอาไว้ สมัคร เกมส์
    ห้าๆ

  2. มี.ค. 28th, 2010 / 15:56 admin Says:

    แหง่ะ โกงๆ = =”

    แต่ก่อนผมชอบเอาไปสมัคร SF 5555+

ใส่ความเห็น