SlideShare a Scribd company logo
1 of 24
Download to read offline
PHP

PHP คืออะไร
         PHP แตเดิมยอมาจาก “Personal Home Page” แตตอมาก็เปลี่ยนเปนยอมาจาก “PHP
Hypertext Preprocessor” PHP เปนภาษาจําพวก scripting language คําสั่งตางๆจะเก็บอยูในไฟลที่
เรียกวาสคริปต (script) และเวลาใชงานตองอาศัยตัวแปลชุดคําสั่ง ตัวอยางของภาษาสคริปก็เชน
JavaScript, Perl เปนตน ลักษณะของ PHP ที่แตกตางจากภาษาสคริปตแบบอื่นๆ คือ PHP ไดรับการ
พัฒนาและออกแบบมา เพื่อใชงานในการสรางเอกสารแบบ HTML โดยสามารถ สอดแทรกหรือ
แกไขเนื้อหาไดโดยอัตโนมัติ ดังนั้นจึงกลาววา PHP เปนภาษาที่เรียกวา server-side หรือ HTML-
embedded scripting language เปนเครื่องมือที่สําคัญชนิดหนึ่ง ที่ชวยใหเราสามารถสรางเอกสาร
แบบ Dynamic HTML ไดอยางมีประสิทธิภาพและมีลูกเลนมากขึ้น

PHP เกิดขึ้นไดอยางไร
          PHP เกิดในป 1994 โดย Rasmus Lerdorf โปรแกรมเมอรชาวสหรัฐอเมริกาไดคิดคนสราง
เครื่องมือที่ใชในการพัฒนาเว็บสวนตัวของเขา โดยเขาใช PHP ในการเก็บขอมูลสถิติผูเขาชมเว็บ
ของตนเอง โดยใชขอดีของภาษา C และ Perl
          ตอมา PHP เวอรชั่นแรกไดถูกพัฒนาและเผยแพรใหกับผูสนใจไปศึกษาในป ค.ศ. 1995ซึ่ง
ถูกเรียกวา “Personal Home Page Tool” ซึ่งเปนที่มาของคําวา PHP นั่นเอง ซึ่งในระยะเวลานั้น PHP
ยังไมมีความสามารถอะไรที่โดดเดนมากมาย
          จนกระทั่งถึงเมื่อประมาณกลางป 1995 Rasmus ไดสรางสวนติดตอกับฐานขอมูลชื่อวา
Form Interpreter ( FI ) รวมทั้งสองสวน เรียกวา PHP/FI หรือ PHP เวอรชั่น 2 ใหมีความสามารถ
จัดการเกี่ยวกับแบบฟอรมขอมูลที่ถูกสรางมาจากภาษา HTML และสนับสนุนการติดตอกับ
โปรแกรมจัดการระบบฐานขอมูล mSQL ซึ่งก็เปนจุดเริ่มตนของ PHP มีคนที่เขามาเยี่ยมชมเว็บไซต
ของเขาแลวเกิดชอบจึงติดตอขอเอาโคดไปใชบาง และนําไปพัฒนาตอ ในลักษณะของ Open
Source ภายหลังมีความนิยมขึ้นเปนอยางมากภายใน 3 ปมีเว็บไซตที่ใช PHP/FI ในติดตอฐานขอมูล
และแสดงผลแบบ ไดนามิกและอื่นๆ มากกวา 50000 ไซต
          นอกจากนีในราวกลางป ค.ศ.1997 PHP ไดมีการเปลี่ยนแปลงและถูกพัฒนาจากเจาของเดิม
                    ้
คือ Rasmus ซึ่งพัฒนาอยูคนเดียวมาเปนทีมงาน โดยมีนาย Zeev Suraski และ Andi Gutmans ชาว
                           
อิสราเอล มาทําการวิเคราะหพื้นฐานของ PHP/FI ตอมาก็มีเพิ่มเขามาอีก 3 คน คือ Stig Bakken
รับผิดชอบความสามารถในการติดตอ Oracle, Shane Caraveo รับผิดชอบดูแล PHP บน Window
9x/NT, และ Jim Winstead รับผิดชอบการตรวจ ความบกพรองตางๆ และไดเปลี่ยนชื่อเปน
Professional Home Page และไดนําโคดมาพัฒนาใหมเปน PHP เวอรชั่น 3 ซึ่งมีความสมบูรณมาก
ขึ้น
        ตอมาในป ค.ศ.2000 PHP พรอม Zend Scripting Engine และความสามารถที่ทํางานกับ
Webserver ยี่หออื่นไดนอกเหนือจาก Apache ทําให PHP 4 มีความสมบูรณแบบมากยิ่งขึ้น
        PHP เวอรชั่นตอไปคือ PHP 5 เริ่มตนออกเวอรชั่นทดสอบ(BETA 1) ตั้งแตกลางป 2003
และพัฒนาเปนตัวเต็มประมาณกลางป 2004 ปจจุบัน(01 June 2007) PHP5 ไดพัฒนามาถึงเวอรชั่น
5.2.3 แลว

ทําไมนักพัฒนาเว็บเลือกใช PHP
     ความรวดเร็วในการพัฒนาโปรแกรม
        เพราะวา PHP เปนโคดแบบ Embended คือ สามารถแทรกรวมกับภาษา HTML ไดอยาง
        อิสระ และหากเราพัฒนาโคดไวในรูปแบบ Class ที่เขียนขึ้นเพียงครั้งเดียวแลวเรียกใชงาน
        ไดตลอด ทําใหสะดวกและรวดเร็วตอการพัฒนาโปรแกรมตางๆ
     PHP เปนโคดแบบ Open Source
        คําวา Open Source วาไปแลวก็มีความหมายเหมือนกับของฟรีนั่นเองครับ เนื่องจาก PHP มี
        กลุมของผูใชงานอยูเปนจํานวนมากทั่วโลก และมีเว็บไซตอยูเปนจํานวนมากที่เปนแหลง
        รวบรวมSourceCode หรือจะเปนบทความตางๆทําใหผูใชมือใหมๆหรือผูที่ตองการศึกษา
        สามารถหาSourcecodeมาเปนแนวทางในการพัฒนาโปรแกรมไดงายขึ้น
     การบริหารหนวยความจํา(Memory Uasge)
        มีการใชงานหนวยความจําที่ดี กลาวคือ PHP จะไมเรียกใชงานหนวยความจําตลอดเวลา ทํา
        ให Server ไมจําเปนตองมีทรัพยากรมากนัก
     อิสระตอระบบปฏิบัติการ
        เว็พแอพพลิเคชั่นทีถูกสรางขึ้นมาสามารถที่จะรันไดหลายระบบปฏิบัติการ ไมวาจะเปน
                            ่
        Unix, Linux หรือ Windows เปนตน




       .
องคประกอบของภาษา PHP
      ในสวนนี้ผมจะกลาวถึงโครงสรางภาษา PHP ซึ่งเราตองเรียนรูกันกอนที่จะเขาไปถึงในสวน
ของการเขียนคําสั่ง โดยเฉพาะในสวนของการกําหนดตัวแปร การเลือกเงื่อนไข คําสั่งทําซ้ํา คําสั่ง
วนรอบ คําสั่งคํานวณ การเลือกเงื่อนไข ซึ่งเปนสิ่งที่เราตองใชอยูประจํา

โครงสรางพื้นฐานของ PHP (Basic Syntax)
       รูปแบบการเขียน PHP เขียนได 4 แบบดังตัวอยาง ที่นิยมคือแบบที่ 1 และ 2 แบบที่ 3 ใช
งานคลายกับ Java script สวนแบบที่ 4 ตัว tag <% จะเหมือนกับ ASP โดยเมื่อรันจะไดผลลัพธ
เหมือนกัน และสามารถแทรกลงในสวนของภาษา HTML สวนใดก็ได

1.การเขียนโคดในรูปแบบภาษา SGML จะมีรูปแบบดังนี้

 <?
          คําสั่งในภาษา PHP ;
 ?>

2. การเขียนโคดเพื่อใชรวมกับภาษา XHTML หรือ XML (แตสามารถใชใน HTML แบบปกติได)
จะมีรูปแบบดังนี้

  <?php
            คําสั่งในภาษา PHP ;
  ?>

3. การเขียนโคดในรูปแบบ JavaScript จะมีรูปแบบดังนี้

  <Script Language="php">
          คําสั่งในภาษา PHP ;
  </Script>

4. การเขียนโคดในรูปแบบ ASP จะมีรูปแบบดังนี้

  <%
       คําสั่งในภาษา PHP ;
  %>
* สําหรับรูปแบบที่ 4 จะใชไดกับ PHP 3.0.4 ขึ้นไป และจะตองไปแกไฟล php.ini ในโฟลเดอร
C:WINDOWS เสียกอนโดยให asp_tags มีคาเปน On


         การเขียนสคริปต PHP ในรูปแบบใดก็ตามจะตองมีเครื่องหมาย semicolon ( ; ) ลงทาย
คําสั่งเสมอเหมือนกับการเขียนภาษา C กับภาษา Perl และคําสั่งหรือฟงกชั่นในภาษา PHP จะเขียน
ดวยตัวพิมพเล็กหรือพิมพใหญก็ได ( case-insensitive ) การจบ statement หรือสิ้นสุด script เราจะ
ปดทายสคริปตดวยแท็ก ( ?> ) และคําสั่งสุดทายในสคริปตนั้นจะลงทายดวย semicolon ( ; )
หรือไมก็ไดเพราะจะถูกปดดวยแท็ก ( ?> ) อยูแลว

นอกจากรูปแบบแลว การวาง code ผสมกับ HTML ก็เปนวิธีหนึ่ง
      <html>
      <head>
      <title>Example</title>
      </head>
      <body>
      <?php
              echo "Hi, I'm a PHP script!";
      ?>
      </body>
      </html>



Comment (การเขียนคําอธิบายโปรแกรม)
       การเขียนโปรแกรมที่มีความยาวและซับซอนมากๆอาจจะทําใหสับสนในภายหลังได วิธีที่
นิยมกันก็คือการเขียนคําอธิบายไวทายคําสั่งนั้นๆ หรือที่เรียกกันวา comments ใน PHP จะสามารถ
เขียนในรูปแบบของภาษา C, C++ และ Unix shell-style comments ไดโดยจะไมนํามาประมวลผล
จะเห็นแคใน souce code เทานั้น
รูปแบบ
       <?php
       echo "This is a test"; // comment แบบ C++
/* แบบนี้เปนการ comments
        แบบหลายบรรทัด จะใชในกรณี
        ที่คําอธิบายเยอะ*/

        echo "This is yet another test";
        echo "One Final Test"; # comment แบบ Unix shell-style
        ?>

ขอควรระวัง PHP ไมรับ Comment แบบ nest
<?php
/*
echo "This is a test"; /* comment ตัวนี้จะมีปญหา */
*/
?>


คําสั่งแสดงผล

เราสามารถใชคําสั่งเพื่อแสดงผลได 3 แบบคือ
     1. echo
     2. print
     3. printf

1. คําสั่ง echo จะสามารถแสดงไดหลายประเภท เชน

<?php
        echo " ทดสอบการใชคําสั่ง echo ";
?>

นี่เราลองมาดูความสามารถอีกอยางของคําสั่ง echo กันคือความสามารถในการแยกนิพจน หรือ
คาตัวแปรได โดยจะใชเครื่องหมาย , คั่น

<?php
echo " ทดสอบการใชคําสั่ง echo<br> " ;
echo " <b>10+20 = " , 15+15 , "</b>" ;
?>

สังเกตคําสั่ง echo "<b> 10+20 = " , 15+15 , "</b>" ; ผมไดใชเครื่องหมาย , คั้นระหวาง "<b>
10+20 =" และ "</b>" ไวเพื่อใหโปรแกรมแยกสวนที่เราตองการใหมันแสดงออกทางหนาแบบ
ธรรมดากับสวนที่เราตองการใหโปรแกรมทําการคํานาณใหเรานั้นคือ 15+15 เมื่อคํานวณแลวจะได
คา 30 โปรแกรมจะนะคาที่ไดจากการคํานวณมาแสดงแทน สวนแท็ก <br> และ <b>...</b> นั้นเปน
แท็ก HTML ธรรมดาซึ่งผมใสไวเพื่อทําใหการแสดงผลสวยงามขึ้น

<?php
echo "ทดสอบการใชคําสั่ง echo " ;
echo " 10+20 = " , 15+15 ;
?>

2. คําสั่ง print
<?php
print " ทดสอบการใชคําสั่ง print " ;
?>

3. คําสั่ง printf

ในการใชคําสั่ง printf เราจะตองทราบชนิดของขอมูลที่เราตองการแสดงออกมาวาเปนชนิดใด เรา
จะไดกําหนดคาลงไปถูงตองดังนี้

         %d         ตัวเลข
         %o         เลขฐานแปด
         %c         ขออักษร ( 1 ตัว )
         %s         ขอความ
         %f         ทศนิยม
<?php
         printf ( " 15+15 = %d <br> " , 15+15) ;
         printf ( " 20/3 = %d <br> " , 20/3 ) ;
         printf ( " 20/3 = %f <br> " , 20/3 ) ;
?>
สังเกตคําสั่งที่ 2 และ 3 ใหดีนะครับ เราไดใชตัวคํานวณเหมือนกันแตกําหนดชนิดของขอมูลไม
เหมือนกัน โดยคําสั่งที่ 2 ผมไดกําหนดชนิดขอมูลเปน %d แตในคําสั่งที่ 3 ไดกําหนดชนิดเปน %f
ผลที่ไดก็จะแตกตางการกันครับ



String
แบงตามลักษณะตัวปดแบงออกเปน 3 แบบคือ
• single quoted
• double quoted
• heredoc syntax (ไมอธิบาย)


single quoted
ตัวแปร ที่อยูภายใต single quoted ถือเปนขอความดวย
       echo ’this is a simple string’;
       echo ’You can also have embedded newlines in strings,
       like this way.’;
       echo ’Arnold once said: "I’ll be back"’; // output: ... "I’ll be back"
       echo ’Are you sure you want to delete C:*.*?’; // output: ... delete C:*.*?
       echo ’Are you sure you want to delete C:*.*?’; // output: ... delete C:*.*?
       echo ’I am trying to include at this point: n a newline’; // output: ... this point: n a
       newline


double quoted
การใช double quoted สามารถใชรวมกับ escaped characters ไดดังตาราง

Escaped characters sequence meaning
n                 linefeed (LF or 0x0A (10) in ASCII)
r                 carriage return (CR or 0x0D (13) in ASCII)
t                 horizontal tab (HT or 0x09 (9) in ASCII)
                 backslash
$                  dollar sign
"                  double-quote
[0-7]{1,3}         the sequence of characters matching the regular expression is a character in
                    octal notation
x[0-9A-Fa-         the sequence of characters matching the regular expression is a character in
f]{1,2}             hexadecimal notation

ขอควรระวังในการใช งาน
$beer = ’Heineken’;
echo "$beer’s taste is great"; // works, "’" is an invalid character for varnames
echo "He drunk some $beers"; // won’t work, ’s’ is a valid character for varnames
echo "He drunk some ${beer}s"; // works

Simple syntax
$fruits = array( ’strawberry’ => ’red’ , ’banana’ => ’yellow’ );
echo "A banana is $fruits[banana].";
echo "This square is $square->width meters broad.";
echo "This square is $square->width00 centimeters broad."; // won’t work,
// for a solution, see the complex syntax.

Complex syntax
$great = ’fantastic’;
echo "This is { $great}"; // won’t work, outputs: This is { fantastic}
echo "This is {$great}"; // works, outputs: This is fantastic
echo "This square is {$square->width}00 centimeters broad.";
echo "This works: {$arr[4][3]}";
echo "This is wrong: {$arr[foo][3]}"; // for the same reason
// as $foo[bar] is wrong outside a string.
echo "You should do it this way: {$arr[’foo’][3]}";
echo "You can even write {$obj->values[3]->name}";
echo "This is the value of the var named $name: {${$name}}";
ตัวอยางการใชงาน String
<?php
$str = "This is a string"; /* การกําหนดคาใหกับ string. */
$str = $str . " with some more text";        /* ตอขอความกับตัวแปร */
$str .= " and a newline at the end.n"; /* ตอขอความกับตัวแปร อีกรูปแบบหนึ่ง และใช escaped
newline. */
/* This string will end up being ’<p>Number: 9</p>’ */
$num = 9;+
$str = "<p>Number: $num</p>";
/* This one will be ’<p>Number: $num</p>’ */
$num = 9;
$str = ’<p>Number: $num</p>’;
/* Get the first character of a string */
$str = ’This is a test.’;
$first = $str{0};
/* Get the last character of a string. */
$str = ’This is still a test.’;
$last = $str{strlen($str)-1};
?>


Variable scope
        PHP โดยสวนใหญตัวแปรจะเปนแบบ Single scope ดังแสดงตามตัวอยาง
        $a = 1;
        include "b.inc";



ตัวอยาง การใชตัวแปร global และ local
         แบบที1 ตัวแปร a มีคาตางกัน
               ่
         $a = 1; /* global scope */
         Function Test () {
         echo $a; /* reference to local scope variable */
}
       Test ();

        แบบที่ 2 การใชตัวแปร a และ b
        $a = 1;
        $b = 2;
        Function Sum () {
        global $a, $b;
        $b = $a + $b;
        }
        Sum ();
echo $b;

Iderntification and Data Type
การกําหนดตัวแปรและชนิดของขอมูล (Type)
       ในภาษา PHP จะเหมือนกับภาษาระดับสูงอื่นๆ คือมีการกําหนดตัวแปร ซึงวิธีการกําหนด
                                                                      ่
ตัวแปรใน PHP นั้นจะใชเครื่องหมาย $ ดังนี้

          $a = 1234;      #ตัวอยางที่ 1
          $b = -1234      #ตัวอยางที่ 2
ประโยชนสวนหนึ่งของการประกาศตัวแปรคือใชสําหรับเก็บคาของอมูลชั่วคราวในการกระทํา
ตางๆ ซึ่งขอมูลที่ตัวแปรสามารถเก็บได จะมีทั้งตัวเลข ตัวอักษร ดังตารางตอไปนี้

ประเภทของตัวแปร           คําอธิบาย
Integers                  เก็บขอมูลตัวเลขที่เปนจํานวนเต็มเชน 236, -256
Floating point numbers    เก็บขอมูลตัวเลขที่มีจุดทศนิยมเชน 1.236, -0.268
Strings                   เก็บขอมูลที่เปนตัวอักษร ขอความเชน "Hi", "Hello", "Year 1979"
Arrays                    เก็บขอมูลที่เปนชุด หรือกลุมขอความ
Objects                   เก็บขอมูลในลักษณะของการเรียกใชเปน Class Object หรือ Function
Type juggling             เก็บขอมูลในลักษณะที่ขนอยูกับตัว Operator
                                                    ึ้
การใชงาน

Integers

$a = 567;       เปนจํานวนเต็มบวก
$b = -956;      เปนจํานวนเต็มลบ
$c = 01236;     เปนเลขฐาน 8
$d = 0x12F;     เปนเลขฐาน 16

ในการกําหนดตัวแปรในลักษณะของ Integers เราสามารถกําหนดเปนเลขฐานไดได 3 เลขฐานคือ
ฐาน 10, ฐาน 8, ฐาน 16 ดังนี้

ฐาน 10 คือตัวเลขที่ใชทั่วไป
ฐาน 8 คือตัวเลขที่มีตั้งแต 0-7 ในการกําหนดใหเปนเลขฐาน 8 นั้นจะใหขึ้นตนดวยเลข 0 อยางเชน
กําหนดตัวแปร เปน 0123 จะมีคาเทากับ 83 ในเลขฐาน 10
ฐาน 16 คือตัวเลขตั้งแต 0-9 และอักษร A-F แทนตัวเลข 10-15 การกําหนดใหเปนเลขฐาน 16 คือให
ขึ้นตนดวย 0x



Floating point numbers

$a = 1.356
$b = 1.3e6

ใชกําหนดตัวเลขในรูปแบบทศนิยม และเลขยกกําลัง ดังเชน 1.3e6 จะหมายความวา 1.3 คูณ 10 ยก
กําลัง 6



Strings
      การใชงาน String จะใชในการเก็บขอมุลที่เปนคาคงที่ เชนขอความตางๆ ในการกําหนด
ประเภทของขอมูล String จะมีรหัสควบคุมดังนี้
รหัสควบคุม                                    คําอธิบาย
n                                            ใชสําหรับขึ้นบรรทัดใหม
r                                            ใชสําหรับใหตัว Cursor ไปอยูตนบรรทัด
t                                            ใชในการเลื่อน Tab
                                            ใชในการพิมพเครื่องหมาย 
$                                            ใชในการพิมพเครื่องหมาย $
"                                            ใชในการพิมพเครื่องหมาย "
[0-7]{1,3}                                   ใชกําหนดอักขระใหเปนรหัส ASCII ฐาน 8
x[0-9A-Fa-f]{1,2}                            ใชกําหนดอักขระใหเปนรหัส ASCII ฐาน 16

ตัวอยางที่ 1

$a = "PHPThai.Net"; #กําหนดตัวแปร a เก็บขอความ PHPThai.Net
$b = $a "site for You"; #กําหนดใหตัวแปร b มีคาเทากับตัวแปร a และตามดวยขอความ site for
                                                
You
echo "$b";              #สั่งใหพิมพคาในตัวแปร b ออกมา

ผลลัพธ
PHPThai.Net site for You

ตัวอยางที่ 2

$num = 2545;
$c = " Year : $num ";
$d = ' Year : $num ';
echo "$c<br>";
echo "$d";

ผลลัพธ
Year : 2545
Year : $num

ภายในเครื่องหมาย ' . . .' คาตัวแปรจะไมมีความหมายจะถือเปนเพียงขอความทั้งสิ้น

ตัวอยางที่ 3

$e ="ASPThai.Net Site for You";
$first = $e[0]                          #เก็บคาของตัวแปร e ในตําแหนงแรกสุด
$last = $e[strlen($e) – 1]              #เก็บคาของตัวแปร e ในตําแหนงทายสุด
echo "$first<br>";
echo "$last";

ผลลัพธ
A
u

ตัวอยางที่ 4

$a = "", , $";      #กําหนดใหเก็บอักขระพิเศษตางๆ
$b = "123, xad";      #กําหนดใหเก็บอักขระโดยใช ACSII ในฐาน 8 และฐาน 16
echo "$a<br>";
echo "$b";

ผลลัพธ
", , $
S, ญ



Arrays
       อาเรย คือการเก็บขอมูลในลักษณะของชุดขอมูล โดยที่แตละชุดสามารถจะมีสมาชิกได
หลายตัว และเราสามารถอางถึงสมาชิกในอาเรยนั้นไดโดยใชเครื่องหมาย _[ . . .]
ตัวอยางการใชงาน อาเรย

อาเรย 1 มิติ

         $a[0] = "abc";           #กําหนดใหสมาชิกลําดับที่ 0 ของอาเรย a เก็บคา abc
         $a[1] = "def";           #กําหนดใหสมาชิกลําดับที่ 1 ของอาเรย a เก็บคา def
         $b["asp"] = 13;          #กําหนดใหสมาชิกชื่อ asp ของอาเรย b เก็บคา 13

อาเรยหลายมิติ

         $a[1] = $f;                      #อาเรยแบบ 1 มิติ
         $a["asp"] = $f;                  #อาเรยแบบ 1 มิติ
         $a[1][0] = $f;                   #อาเรยแบบ 2 มิติ
         $a["asp"][2] = $f;               #อาเรยแบบผสม 2 มิติ
         $a[3]["diaw"] = $f;              #อาเรยแบบผสม 2 มิติ
         $a["asp"][2]["diaw"][0] = $f;    #อาเรยแบบผสม 4 มิติ


Object
      Object คือการเขียนชุดคําสั่งที่เรามักใชงานบอยๆ หรือใชงานในลักษณะพิเศษ เพื่อความ
สะดวกในการทํางานอาจจะอยูในรูปแบบของ Class หรือ Function เชน

class asp
         {
                 function do_asp () {
                 echo "ASPThai.Net";
                 }
         }

$bar = new asp;
$bar -> do_asp();
จากโคดเราไดสราง class asp และมีฟงกชั่นชื่อ do_asp อยูภายในคลาสตอมาเราไดสรางตัว
แปร bar ที่เปนออบเจกตทเี่ กิดจากคลาส asp ($bar = new asp;)
        ตัวแปร bar ที่เราสรางจากคลาส asp จะมีคุณสมบัติเหมือนคลาส asp คือสามารถใชฟงกชั่น
do_asp ได ($bar -> do_asp();)


Type juggling
        เปนการเก็บขอมูลในลักษณะที่ขึ้นกับตัว Operator เชน
$asp = 5 + "15 diaw";

$asp จะมีคาเทากับ 20โดยดูจาก Operator เปนเครื่องหมาย + ทําให PHP มองคาทั้ง 2 เปนตัวเลข
          

ตัวอยางการใชงานตัวแปร และตัวแปรระบบ
         ในการประกาศตัวแปรใน PHP นั้นจะใชเครื่องหมาย $ นําหนาชื่อตัวแปร สวนชื่อตัวแปร
จะขึ้นตอนดวยอักษรพิมพเล็กหรือพิมพใหญก็ไดเพราะถือวาเปนอักขระคนละตัว ดังนั้นเวลา
เรียกใชก็ระบุชื่อตัวแปรใหตรงกับที่ตั้งไวก็แลวกัน ที่สําคัญคือตองปดทายดวยเครื่องหมาย; (semi –
colon)

ตัวอยางที่ 1
        จะเปนการประกาศตัวแปรชนิด String ซึ่งตองอยูภายในเครื่องหมาย " . . ." หรือ ' . . .'

       <?
       $a = "ASPThai";
       $A = ".Net";
       echo "$a$A";
       ?>
ผลลัพธที่ได คือขอความวา ASPThai.Net

ตัวอยางที่ 2
        จะเปนการประกาศตัวแปรชนิดตัวเลข Integer ซึ่งไมจําเปนตองมีเครื่องหมาย " . . . "

        <?
$a = 50;
        $b = 10;
        $echo $a+$b;
        ?>

ผลลัพธที่ไดคือ ผลรวมของตัวเลข เทากับ 60
นอกจากนี้ยังตัวแปรระบบที่เราไมตองประกาศ เพราะมีพรอมอยูแลวใหเราเรียกใช ซึ่งตาราง
ขางลางนี้เปนตัวแปรที่เราสามารถนํามาใชได

ชื่อตัวแปร                                     ความหมายและผลลัพธ
GATEWAY_INTERFACE                              เก็บคา CGI Specification เชน CGI/1.1
SERVER_NAME                                    เก็บชื่อ Host ที่ใชบริการเชน www.aspthai.net
SERVER_SOFTWARE                                เก็บชื่อ Software ที่ใหบริการในขณะนั้นเชน
                                               Apache/1.3.9 (Unix) PHP/3.0.12
SERVER_PROTOCAL                                เก็บชื่อของโพรโตคอลที่ใชในการรับสงขอมูล
                                               เชน HTTP/1.0
REQUEST_METHOD                                 เก็บวิธีการสงขอมูลวาเปนแบบ GET หรือแบบ
                                               POST
QUERY_STRING                                   เก็บชุด String ที่สงตอทายมากับ URL
DOCUMENT_ROOT                                  เก็บคาเสนทางของ Root Directory ที่วิ่งไปอาน
                                               ครั้งแรก
HTTP_ACCEPT_LANGUAGE                           ภาษาที่ใชงานอยูขณะนั้น เชน th
HTTP_CONNECTION                                บอกถึงสถานะภาพการติดตอ เชน Keep –
                                               Alive
HTTP_USER_AGENT                                บอกชนิดของ Browser ที่ใชงาน
REMORT_ADDR                                    คา IP Address ของเครื่อง
REMORT_PORT                                    ตรวจสอบหมายเลข Port ของเครื่องผูใชที่
                                               ติดตอกับ Web Server ในขณะนั้น
SCRIPT_FILENAME                                บอกถึงเอกสาร PHP ?กําลังแสดงในขณะนั้น
                                               รวมถึง Path ดวย
SERVER_ADMIN                                   แสดงคาของผูดูแล Web Server ที่ไดระบุไวใน
ไฟล httpd.conf ตรงบรรทัดที่เขียนวา
                                              ServerAdmin เชน aspthai@inet.co.th
SERVER_PORT                                   แสดงหมายเลข Port ของเครื่องที่เปดใหบริการ
                                              เชน 80
SERVER_SIGNATURE                              แสดงเวอรชั่นของโปรแกรมที่ใช, Host ที่
                                              ใหบริการและหมายเลข Port ที่เปดใหบริการ
                                              เชน IIS5 Server at aspthai.inet.co.th Port 640
PATH_TRANSLATED                               แสดง Path หรือตําแหนงของ Script
SCRIPT_NAME                                   แสดงชื่อเอกสารที่กําลังเปดอยูในขณะนั้น




 ตัวอยางการใชงาน
<?
         echo "$REMOTE_ADDR<br>";
         echo "$HTTP_USER_AGENT<br>";
         echo "$SERVER_SOFTWARE<br>";
?>




Control Structure
ตัวควบคุมการทํางาน
          ในการเขียนโปรแกรมคอมพิวเตอรนั้น คอมพิวเตอรจะทํางานโดยเรียงลําดับลงมาจากบน
– ลงลาง (Top – Down) แตถาเราตองการสั่งใหคอมพิวเตอรทํางานยอยกลับ หรือมีการทํางานซ้ํา
เราจะตองมีตัวคอบคุมการทํางานดังนี้
If . . .Else . . .ElseIf
           คําสั่ง If เปนคําสั่งสําหรับกําหนดใหโปรแกรมทํางานอยางมีเงื่อนไข โดยเริ่มตนในการ
ตรวจสอบนิพจน วาคาที่ไดเปนจริงหรือเท็จ และนําคาที่ไดเปนตัวเลือกวาจะกระทําตามคําสั่งใด ดัง
ตัวอยางตอไปนี้

ตัวอยางที่ 1 การใชงาน If ตรวจสอบเงื่อนไขเดียว

<?
        $a = 30;
        $b = 20;
        If ($a > $b) {
                          echo " a มากกวา b";
                      }
?>

จากตัวอยางขางตนเปนการตรวจสอบเงื่อนไขเดียวคือ ตัวแปรa มากกวา ตัวแปรb ซึ่งถาเปนจริง
ตามเงื่อนไขก็จะพิมพคําวา " a มากกวา b" ออกมาแตถาไมตรงก็จะออกจากคําสั่ง

ตัวอยางที่ 2 การใช If . . . else ตรวจสอบ 2 เงื่อนไข

<?
        $a = 30;
        $b = 20;
        If ($a > $b) {
                          echo " a มากกวา b";
                      }
        else          {
                          echo " a นอยกวา b";
                      }

?>
จากตัวอยางขางตนเปนการตรวจสอบเงื่อนไข 2 เงื่อนไขโดยเงื่อนไขหลักจะอยูที่ หลังคําสั่ง If คือ
ตัวแปรa มากกวา ตัวแปรb ($a > $b) ซึ่งถาเปนจริงตามเงื่อนไขก็จะพิมพคําวา " a มากกวา b"
ออกมาแตถาไมตรงก็จะทําตามคําสั่ง else คือพิมพคา " a นอยกวา b"

ตัวอยางที่ 3 การใชงาน If ซอน If เพื่อตรวจสอบหลายเงื่อนไข

<?
           $a = 10;
           $b = 10;
           If ($a > $b)                             // ถา $a มากกวา $b ใหพิมพขอความดานลาง
                    { echo "a มีคามากกวา b"; }
           elseif ($a == $b)                        // ถา $a เทากับ $b ใหพิมพขอความดานลาง
                    { echo "a มีคาเทากับ b";}
           else                                     // ถาไมใชทั้ง 2 กรณีดานบนใหพิมพขอความ
ดานลาง
                     { echo "a มีคานอยกวา b";}
?>

จากตัวอยางนี้จะเปนการตรวจสอบโดยใช If และ elseif เขามาชวยเพิ่มขอกําหนดในการตรวจสอบ
ใหมากขึ้นกวาเดิมอีก โดยที่คุณสามารถเพิ่ม elseif ไดเรื่อยๆ แตตองปดทายดวย else ตามตัวอยาง
ดานบน



While
        คําสั่ง while เปนคําสั่งในการวนรอบ โดยจะมีการตรวจสอบเงื่อนไขกอนแลวคอยมีการ
ทํางานตามลําดับ แตถาเงื่อนไขไมเปนตามที่กําหนดก็จะออกจากการวนรอบของ while ทันทีดัง
ตัวอยางนี้

ตัวอยางที่ 1

<?
           $i = 1;
while ($I <= 10) {
                          echo $I++;
                          echo "<br>";
                          }
?>

ตัวอยางที่ 2

<?
         $i = 1;
         while ($I <= 10) ;
                          echo "$I <br>";
                          $I++;
         endwhile;
?>
         จากทั้ง 2 ตัวอยางดานบน ผลลัพธที่ไดจะเหมือนกันคือ แสดงตัวเลขออกมาตั้งแต 1 ถึง 10
แตตางกันที่วิธีการเขียนโครงสรางของคําสั่งที่เราสามารถเขียนได 2 แบบก็แลวแตจะเลือกใช

do . . while
           คําสั่ง do . . while คือคําสั่งในการวนรอบเชนเดียวกัน แตตางกันตรงที่จะมีการทํางานตาม
คําสั่งที่ตองการกอน แลวจึงคอยตรวจสอบเงื่อนไขทีหลัง ซึ่งถาเงื่อนไขเปนตามที่กําหนด ก็จะ
วนรอบขึ้นมาทํางานตามคําสั่งที่ตองการใหม แตถาเงื่อนไขไมตรงกับที่กําหนด ก็จะออกจากการ
วนรอบทันที ดังนี้

ตัวอยางที่ 1 หาผลบวกของตัวเลขตั้งแต 1 ถึง 10

<?
           $i = 1;
           $total = 0;
           do {                             // เขาสูเงื่อนไขของ do
                    $total = $total + $i;   // ให $total มีคาเทากับ ตัวเองบวกดวยคาของ $i ซึ่ง
เริ่มตนที่ 1
$i ++;                   // บวกคาของ $i ไปอีก 1
         } while ($i <= 10);               // ถา $i ยังไมมากกวา หรือ เทากับ 10 ใหวนรอบ do อีก
ครั้ง

         echo "ผลลัพธคือ : ";
         echo $total;
?>

      ผลลัพธที่ไดคือ 55 จะเห็นไดวาการเขียนดวย do . . .while จะมีการทําตามคําสั่งกอนที่จะ
ตรวจสอบเงื่อนไขซึ่งตางกับ while ทีตรวจสอบเงื่อนไขกอน
                                   ่




for
       คําสั่ง for เปนคําสั่งในการวนรอบอีกคําสั่งหนึ่งแตจะไมมีการตรวจสอบเงื่อนไข เพียงแต
ทําตามคําสั่งที่กําหนดไวแลวเทานั้น

ตัวอยางการใชงานคําสั่ง for

<?
         for ($i = 1; $i <= 10; $i++ ) {
                  echo "$i <br>";
         }
?>

ขอสังเกต : ภายใน for ( . . . )

$i = 1;           คือการกําหนดคาเริ่มตน
$i <= 10;         คือการกําหนดคาจุดสิ้นสุด
$i++              คือการกําหนดใหเพิ่มไปทีละ 1

ผลลัพธที่ไดคือ จะมีการวนรอบเพื่อพิมพคา 1 ถึง 10
break
         คําสั่ง break คือคําสั่งที่ใชในการหลุดออกจากเงื่อนไข หรือจบเงื่อนไขทันทีดังตัวอยางนี้

<?
         $i = 0;
         while ($I <= 50) {
                 if ($i ==20) { break; }
                 echo "$i <br>";
                 $i++;
         }
?>

ที่จริงแลวคําสั่งนี้จะตองพิมพคา 0 ถึง 50 ออกมา แตเนื่องจากมีการใชคําสั่ง if มาตรวจเช็คเมื่อถึง 20
ถาเปนจริงก็จะทําคําสั่ง break และหยุดการวนรอบทันทีทําใหผลลัพธที่ไดออกมาคือ 1 ถึง 19

continue
           คําสั่ง continue เปนคําสั่งที่ใชควบคูกับคําสั่งในการวนรอบ โดยเมื่อโปรแกรมทําการรัน
คําสั่งนี้ จะทําการกระโดดไปเริ่มตนใหมทันที ( ใชกับคําสั่ง for, while)

ตัวอยาง เปนการพิมพเลขคูจาก 0 ถึง 50

<?
for ($a = 0; $a <= 50; $a++) {
         if ($a % 2) { continue } //เปนเลขคี่กระโดดไปเริ่มตนใหม
         echo "$a <br>";          //ใหพิมพเลขคูออกมา
         }
?>



switch
         คําสั่ง switch เปนคําสั่งในการเลือกเงื่อนไขจํานวนมากๆ ซึ่งจะสะดวกกวาการใชคําสั่ง if
ตัวอยาง

<?
           $a = 2;
           switch ($a) {
                   case 0;
                               echo "a มีคาเทากับ 0";
                               break;
                    case 1;
                               echo "a มีคาเทากับ 1";
                               break;
                    case 2;
                               echo "a มีคาเทากับ 2";
                               break;
                    default;
                               echo "a ไมมีคาเทากับ 0 ,1 หรือ 2";
           }
?>

จากตัวอยางเรากําหนด ใหคาตัวแปร a มีคาเทากับ 2 ดังนั้นการทํางานของคําสั่งจะอยูใน case ที่ 2

include ();
        คําสั่ง include() เปนคําสั่งในการเรียก PHP Script ที่อยูในไฟลอื่นเขามาทํางาน โดย
สามารถเรียกใชงานภายใตคําสั่งของการวนรอบ ( Loop ) และสามารถที่จะนํามาเปรียบเทียบ
เงื่อนไขการทํางานได

ตัวอยางที่ 1 เรียกใชคําสั่ง include() ภายใตการวนรอบของคําสั่ง for

<?
           $fa = array (‘a.inc’, ’b.inc’, ‘c.inc’, ‘d.inc’);
           for ($i = 0; $i < count($fa); $++) {
include $fa[$I];
        }
?>
จากตัวอยางแรก จะใชอาเรย fa เปนตัวเก็บขอมูลของไฟลทั้งหมด 4ไฟล จากนั้นจะทําการวนรอบ
เพื่อเรียกใช (include) ทีละไฟล



ตัวอยางที่ 2 เรียกใชคําสั่ง include() ภายในเงื่อนไขของการเปรียบเทียบ

<?
        $a = 12;
        if ( $a == 12 ) {
                 include("asp.inc")
        }else{
                 include("diaw.inc")
        }
?>



require ();
         คําสั่งนี้จะเปนคําสังในการเรียก PHP Script ที่อยูในไฟลอื่นเขามาทํางานซึ่งคลายกับ
                              ่
include เพียงแตสามารถเรียกใชภายใตคําสั่งการวนรอบได (Loop)
<?
         require (‘header.inc’);
?>

More Related Content

What's hot

หน่วยการเรียนรู้ที่ 3 : เทคโนโลยีเพื่อการทำงานอาชีพ
หน่วยการเรียนรู้ที่ 3 : เทคโนโลยีเพื่อการทำงานอาชีพหน่วยการเรียนรู้ที่ 3 : เทคโนโลยีเพื่อการทำงานอาชีพ
หน่วยการเรียนรู้ที่ 3 : เทคโนโลยีเพื่อการทำงานอาชีพณัฐะ หิรัญ
 
ตัวอย่างหนังสือราชการ
ตัวอย่างหนังสือราชการตัวอย่างหนังสือราชการ
ตัวอย่างหนังสือราชการjustymew
 
ใบงานที่ 8 การสร้างแผนภูมิ
ใบงานที่ 8 การสร้างแผนภูมิใบงานที่ 8 การสร้างแผนภูมิ
ใบงานที่ 8 การสร้างแผนภูมิMeaw Sukee
 
แบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานแบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานChess
 
คู่มือ Thunkable
คู่มือ Thunkableคู่มือ Thunkable
คู่มือ ThunkableKhunakon Thanatee
 
ใบงานที่ 1 เรื่อง รู้จักกับโปรแกรมเพ้นท์
ใบงานที่ 1   เรื่อง รู้จักกับโปรแกรมเพ้นท์ใบงานที่ 1   เรื่อง รู้จักกับโปรแกรมเพ้นท์
ใบงานที่ 1 เรื่อง รู้จักกับโปรแกรมเพ้นท์ณัฐพล บัวพันธ์
 
แผนการจัดการเรียนรู้ Active Learning เรื่อง กราฟิกเพื่อการสื่อสาร
แผนการจัดการเรียนรู้ Active Learning เรื่อง  กราฟิกเพื่อการสื่อสารแผนการจัดการเรียนรู้ Active Learning เรื่อง  กราฟิกเพื่อการสื่อสาร
แผนการจัดการเรียนรู้ Active Learning เรื่อง กราฟิกเพื่อการสื่อสารวัชรพล เที่ยงปา
 
1.2 ส่วนต่างๆของหน้าจอของโปรแกรม sketch up 2015
1.2 ส่วนต่างๆของหน้าจอของโปรแกรม sketch up 20151.2 ส่วนต่างๆของหน้าจอของโปรแกรม sketch up 2015
1.2 ส่วนต่างๆของหน้าจอของโปรแกรม sketch up 2015วิชา อาคม
 
คู่มือ Extension สำหรับงานก่อสร้าง
คู่มือ Extension สำหรับงานก่อสร้างคู่มือ Extension สำหรับงานก่อสร้าง
คู่มือ Extension สำหรับงานก่อสร้างSKETCHUP HOME
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาsupatra178
 
Construct 2 Manual (คู่มือ Construct 2 ฉบับภาษาไทย)
Construct 2 Manual (คู่มือ Construct 2 ฉบับภาษาไทย)Construct 2 Manual (คู่มือ Construct 2 ฉบับภาษาไทย)
Construct 2 Manual (คู่มือ Construct 2 ฉบับภาษาไทย)Khunakon Thanatee
 
แผนการจัดการเรียนรู้ที่ 4 เรื่องสิ่งแวดล้อมกับสิ่งมีชีวิต
แผนการจัดการเรียนรู้ที่ 4 เรื่องสิ่งแวดล้อมกับสิ่งมีชีวิตแผนการจัดการเรียนรู้ที่ 4 เรื่องสิ่งแวดล้อมกับสิ่งมีชีวิต
แผนการจัดการเรียนรู้ที่ 4 เรื่องสิ่งแวดล้อมกับสิ่งมีชีวิตMam Chongruk
 
ข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมwordข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมwordpeter dontoom
 
บทที่ 2 ความรู้เกี่ยวกับคอมพิวเตอร์และอุปกรณ์โทรคมนาคม
บทที่  2  ความรู้เกี่ยวกับคอมพิวเตอร์และอุปกรณ์โทรคมนาคมบทที่  2  ความรู้เกี่ยวกับคอมพิวเตอร์และอุปกรณ์โทรคมนาคม
บทที่ 2 ความรู้เกี่ยวกับคอมพิวเตอร์และอุปกรณ์โทรคมนาคมpattanan sabumoung
 
ข้อสอบปฏิบัติ Microsoft Word
ข้อสอบปฏิบัติ Microsoft Wordข้อสอบปฏิบัติ Microsoft Word
ข้อสอบปฏิบัติ Microsoft WordSupreeyar philarit
 

What's hot (20)

หน่วยการเรียนรู้ที่ 3 : เทคโนโลยีเพื่อการทำงานอาชีพ
หน่วยการเรียนรู้ที่ 3 : เทคโนโลยีเพื่อการทำงานอาชีพหน่วยการเรียนรู้ที่ 3 : เทคโนโลยีเพื่อการทำงานอาชีพ
หน่วยการเรียนรู้ที่ 3 : เทคโนโลยีเพื่อการทำงานอาชีพ
 
ตัวอย่างหนังสือราชการ
ตัวอย่างหนังสือราชการตัวอย่างหนังสือราชการ
ตัวอย่างหนังสือราชการ
 
ใบงานที่ 8 การสร้างแผนภูมิ
ใบงานที่ 8 การสร้างแผนภูมิใบงานที่ 8 การสร้างแผนภูมิ
ใบงานที่ 8 การสร้างแผนภูมิ
 
แบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงานแบบฝึกหัดโครงสร้างการเขียนผังงาน
แบบฝึกหัดโครงสร้างการเขียนผังงาน
 
คู่มือ Thunkable
คู่มือ Thunkableคู่มือ Thunkable
คู่มือ Thunkable
 
ใบงานที่ 1 เรื่อง รู้จักกับโปรแกรมเพ้นท์
ใบงานที่ 1   เรื่อง รู้จักกับโปรแกรมเพ้นท์ใบงานที่ 1   เรื่อง รู้จักกับโปรแกรมเพ้นท์
ใบงานที่ 1 เรื่อง รู้จักกับโปรแกรมเพ้นท์
 
แผนการจัดการเรียนรู้ Active Learning เรื่อง กราฟิกเพื่อการสื่อสาร
แผนการจัดการเรียนรู้ Active Learning เรื่อง  กราฟิกเพื่อการสื่อสารแผนการจัดการเรียนรู้ Active Learning เรื่อง  กราฟิกเพื่อการสื่อสาร
แผนการจัดการเรียนรู้ Active Learning เรื่อง กราฟิกเพื่อการสื่อสาร
 
1.2 ส่วนต่างๆของหน้าจอของโปรแกรม sketch up 2015
1.2 ส่วนต่างๆของหน้าจอของโปรแกรม sketch up 20151.2 ส่วนต่างๆของหน้าจอของโปรแกรม sketch up 2015
1.2 ส่วนต่างๆของหน้าจอของโปรแกรม sketch up 2015
 
คู่มือ Extension สำหรับงานก่อสร้าง
คู่มือ Extension สำหรับงานก่อสร้างคู่มือ Extension สำหรับงานก่อสร้าง
คู่มือ Extension สำหรับงานก่อสร้าง
 
คำทับศัพท์
คำทับศัพท์คำทับศัพท์
คำทับศัพท์
 
แบบทดสอบคอมพิวเตอร์ ชุดที่ 4
แบบทดสอบคอมพิวเตอร์  ชุดที่  4แบบทดสอบคอมพิวเตอร์  ชุดที่  4
แบบทดสอบคอมพิวเตอร์ ชุดที่ 4
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
 
ข้อสอบ Power point 2010
ข้อสอบ Power point 2010ข้อสอบ Power point 2010
ข้อสอบ Power point 2010
 
แบบฝึกหัดภาพฉาย
แบบฝึกหัดภาพฉายแบบฝึกหัดภาพฉาย
แบบฝึกหัดภาพฉาย
 
Construct 2 Manual (คู่มือ Construct 2 ฉบับภาษาไทย)
Construct 2 Manual (คู่มือ Construct 2 ฉบับภาษาไทย)Construct 2 Manual (คู่มือ Construct 2 ฉบับภาษาไทย)
Construct 2 Manual (คู่มือ Construct 2 ฉบับภาษาไทย)
 
แผนการจัดการเรียนรู้ที่ 4 เรื่องสิ่งแวดล้อมกับสิ่งมีชีวิต
แผนการจัดการเรียนรู้ที่ 4 เรื่องสิ่งแวดล้อมกับสิ่งมีชีวิตแผนการจัดการเรียนรู้ที่ 4 เรื่องสิ่งแวดล้อมกับสิ่งมีชีวิต
แผนการจัดการเรียนรู้ที่ 4 เรื่องสิ่งแวดล้อมกับสิ่งมีชีวิต
 
คำทับศัพท์
คำทับศัพท์คำทับศัพท์
คำทับศัพท์
 
ข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมwordข้อสอบปลายภาค50ข้อ โปรแกรมword
ข้อสอบปลายภาค50ข้อ โปรแกรมword
 
บทที่ 2 ความรู้เกี่ยวกับคอมพิวเตอร์และอุปกรณ์โทรคมนาคม
บทที่  2  ความรู้เกี่ยวกับคอมพิวเตอร์และอุปกรณ์โทรคมนาคมบทที่  2  ความรู้เกี่ยวกับคอมพิวเตอร์และอุปกรณ์โทรคมนาคม
บทที่ 2 ความรู้เกี่ยวกับคอมพิวเตอร์และอุปกรณ์โทรคมนาคม
 
ข้อสอบปฏิบัติ Microsoft Word
ข้อสอบปฏิบัติ Microsoft Wordข้อสอบปฏิบัติ Microsoft Word
ข้อสอบปฏิบัติ Microsoft Word
 

Viewers also liked

ความรู้เบื้องต้นเกี่ยวกับภาษาPhp
ความรู้เบื้องต้นเกี่ยวกับภาษาPhpความรู้เบื้องต้นเกี่ยวกับภาษาPhp
ความรู้เบื้องต้นเกี่ยวกับภาษาPhpKwanJai Cherubstar
 
ขั้นตอนการทำโครงงานคอมพิวเตอร์
ขั้นตอนการทำโครงงานคอมพิวเตอร์ขั้นตอนการทำโครงงานคอมพิวเตอร์
ขั้นตอนการทำโครงงานคอมพิวเตอร์Earnzy Clash
 
ตัวอย่างหัวข้อโครงงานคอมพิวเตอร์
ตัวอย่างหัวข้อโครงงานคอมพิวเตอร์ตัวอย่างหัวข้อโครงงานคอมพิวเตอร์
ตัวอย่างหัวข้อโครงงานคอมพิวเตอร์Earnzy Clash
 
โครงงานคอม
โครงงานคอมโครงงานคอม
โครงงานคอมPatchara Pussadee
 
โครงงานพัฒนาเครื่องมือ 5
โครงงานพัฒนาเครื่องมือ 5โครงงานพัฒนาเครื่องมือ 5
โครงงานพัฒนาเครื่องมือ 5Aungkana Na Na
 
โครงงานประเภท “การพัฒนาโปรแกรมประยุกต์”
โครงงานประเภท “การพัฒนาโปรแกรมประยุกต์”โครงงานประเภท “การพัฒนาโปรแกรมประยุกต์”
โครงงานประเภท “การพัฒนาโปรแกรมประยุกต์”Royphim Namsongwong
 
โครงงานประเภทการประยุกต์ใช้งาน
โครงงานประเภทการประยุกต์ใช้งานโครงงานประเภทการประยุกต์ใช้งาน
โครงงานประเภทการประยุกต์ใช้งานNuchy Geez
 
ตัวอย่างโครงงานคอม
ตัวอย่างโครงงานคอมตัวอย่างโครงงานคอม
ตัวอย่างโครงงานคอมปยล วชย.
 
รูปแบบการเขียนรายงานโครงงาน 5 บท
รูปแบบการเขียนรายงานโครงงาน 5 บทรูปแบบการเขียนรายงานโครงงาน 5 บท
รูปแบบการเขียนรายงานโครงงาน 5 บทAekapoj Poosathan
 

Viewers also liked (10)

RFID
RFIDRFID
RFID
 
ความรู้เบื้องต้นเกี่ยวกับภาษาPhp
ความรู้เบื้องต้นเกี่ยวกับภาษาPhpความรู้เบื้องต้นเกี่ยวกับภาษาPhp
ความรู้เบื้องต้นเกี่ยวกับภาษาPhp
 
ขั้นตอนการทำโครงงานคอมพิวเตอร์
ขั้นตอนการทำโครงงานคอมพิวเตอร์ขั้นตอนการทำโครงงานคอมพิวเตอร์
ขั้นตอนการทำโครงงานคอมพิวเตอร์
 
ตัวอย่างหัวข้อโครงงานคอมพิวเตอร์
ตัวอย่างหัวข้อโครงงานคอมพิวเตอร์ตัวอย่างหัวข้อโครงงานคอมพิวเตอร์
ตัวอย่างหัวข้อโครงงานคอมพิวเตอร์
 
โครงงานคอม
โครงงานคอมโครงงานคอม
โครงงานคอม
 
โครงงานพัฒนาเครื่องมือ 5
โครงงานพัฒนาเครื่องมือ 5โครงงานพัฒนาเครื่องมือ 5
โครงงานพัฒนาเครื่องมือ 5
 
โครงงานประเภท “การพัฒนาโปรแกรมประยุกต์”
โครงงานประเภท “การพัฒนาโปรแกรมประยุกต์”โครงงานประเภท “การพัฒนาโปรแกรมประยุกต์”
โครงงานประเภท “การพัฒนาโปรแกรมประยุกต์”
 
โครงงานประเภทการประยุกต์ใช้งาน
โครงงานประเภทการประยุกต์ใช้งานโครงงานประเภทการประยุกต์ใช้งาน
โครงงานประเภทการประยุกต์ใช้งาน
 
ตัวอย่างโครงงานคอม
ตัวอย่างโครงงานคอมตัวอย่างโครงงานคอม
ตัวอย่างโครงงานคอม
 
รูปแบบการเขียนรายงานโครงงาน 5 บท
รูปแบบการเขียนรายงานโครงงาน 5 บทรูปแบบการเขียนรายงานโครงงาน 5 บท
รูปแบบการเขียนรายงานโครงงาน 5 บท
 

Similar to รายงาน PHP - Know2pro.com

เริ่มต้นกับ PHP
เริ่มต้นกับ PHPเริ่มต้นกับ PHP
เริ่มต้นกับ PHPEKNARIN
 
(Php basic 1 [โหมดความเข้ากันได้])
(Php basic 1 [โหมดความเข้ากันได้])(Php basic 1 [โหมดความเข้ากันได้])
(Php basic 1 [โหมดความเข้ากันได้])krunoommr
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05Jenchoke Tachagomain
 
PHP Tutorial (introduction)
PHP Tutorial (introduction)PHP Tutorial (introduction)
PHP Tutorial (introduction)Tinnakorn Puttha
 
บทที่ 2 พื้นฐานภาษาจาวา
บทที่ 2 พื้นฐานภาษาจาวาบทที่ 2 พื้นฐานภาษาจาวา
บทที่ 2 พื้นฐานภาษาจาวาKukkik Kanya
 
งานครูปลาม์
งานครูปลาม์งานครูปลาม์
งานครูปลาม์0908067327
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นDararat Worasut
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 

Similar to รายงาน PHP - Know2pro.com (20)

เริ่มต้นกับ PHP
เริ่มต้นกับ PHPเริ่มต้นกับ PHP
เริ่มต้นกับ PHP
 
Php week 2
Php week 2Php week 2
Php week 2
 
ภาษา php
ภาษา phpภาษา php
ภาษา php
 
Pbl2
Pbl2Pbl2
Pbl2
 
(Php basic 1 [โหมดความเข้ากันได้])
(Php basic 1 [โหมดความเข้ากันได้])(Php basic 1 [โหมดความเข้ากันได้])
(Php basic 1 [โหมดความเข้ากันได้])
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
 
PHP Tutorial (introduction)
PHP Tutorial (introduction)PHP Tutorial (introduction)
PHP Tutorial (introduction)
 
บทที่ 2 พื้นฐานภาษาจาวา
บทที่ 2 พื้นฐานภาษาจาวาบทที่ 2 พื้นฐานภาษาจาวา
บทที่ 2 พื้นฐานภาษาจาวา
 
Dw ch05 basic_php
Dw ch05 basic_phpDw ch05 basic_php
Dw ch05 basic_php
 
Php beginner
Php beginnerPhp beginner
Php beginner
 
งานครูปลาม์
งานครูปลาม์งานครูปลาม์
งานครูปลาม์
 
Doc1
Doc1Doc1
Doc1
 
02 basic
02 basic02 basic
02 basic
 
Training php
Training phpTraining php
Training php
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้น
 
โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซี
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
Php
PhpPhp
Php
 

More from Know Mastikate

MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQLMK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQLKnow Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7Know Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7Know Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7Know Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7Know Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7Know Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7Know Mastikate
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7Know Mastikate
 
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOการใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOKnow Mastikate
 
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureการใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureKnow Mastikate
 
การใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionการใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionKnow Mastikate
 
การใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 Pointerการใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 PointerKnow Mastikate
 
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Arrayการใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 ArrayKnow Mastikate
 
การใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loopการใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 LoopKnow Mastikate
 
การใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 conditionการใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 conditionKnow Mastikate
 
การใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOการใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOKnow Mastikate
 
การใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematicการใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematicKnow Mastikate
 
การใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variableการใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variableKnow Mastikate
 
Cpwk14 screen and sound
Cpwk14 screen and soundCpwk14 screen and sound
Cpwk14 screen and soundKnow Mastikate
 
การใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo Cการใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo CKnow Mastikate
 

More from Know Mastikate (20)

MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQLMK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 6/7
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 5/7
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 4/7
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 3/7
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 2/7
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 1/7
 
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/74121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
4121103 การเขียนโปรแกรมและอัลกอริทึ่ม SLIDE 7/7
 
การใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IOการใช้ Turbo C ชุดที่ 13 File IO
การใช้ Turbo C ชุดที่ 13 File IO
 
การใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structureการใช้ Turbo C ชุดที่ 12 structure
การใช้ Turbo C ชุดที่ 12 structure
 
การใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 functionการใช้ Turbo C ชุดที่ 11 function
การใช้ Turbo C ชุดที่ 11 function
 
การใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 Pointerการใช้ Turbo C ชุดที่ 10 Pointer
การใช้ Turbo C ชุดที่ 10 Pointer
 
การใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Arrayการใช้ Turbo C ชุดที่ 8 Array
การใช้ Turbo C ชุดที่ 8 Array
 
การใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loopการใช้ Turbo C ชุดที่ 7 Loop
การใช้ Turbo C ชุดที่ 7 Loop
 
การใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 conditionการใช้ Turbo C ชุดที่ 6 condition
การใช้ Turbo C ชุดที่ 6 condition
 
การใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IOการใช้ Turbo C ชุดที่ 5 IO
การใช้ Turbo C ชุดที่ 5 IO
 
การใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematicการใช้ Turbo C ชุดที่ 3 arithematic
การใช้ Turbo C ชุดที่ 3 arithematic
 
การใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variableการใช้ Turbo C ชุดที่ 2 variable
การใช้ Turbo C ชุดที่ 2 variable
 
Cpwk14 screen and sound
Cpwk14 screen and soundCpwk14 screen and sound
Cpwk14 screen and sound
 
การใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo Cการใช้ Turbo C ชุดที่ 1 Turbo C
การใช้ Turbo C ชุดที่ 1 Turbo C
 

รายงาน PHP - Know2pro.com

  • 1. PHP PHP คืออะไร PHP แตเดิมยอมาจาก “Personal Home Page” แตตอมาก็เปลี่ยนเปนยอมาจาก “PHP Hypertext Preprocessor” PHP เปนภาษาจําพวก scripting language คําสั่งตางๆจะเก็บอยูในไฟลที่ เรียกวาสคริปต (script) และเวลาใชงานตองอาศัยตัวแปลชุดคําสั่ง ตัวอยางของภาษาสคริปก็เชน JavaScript, Perl เปนตน ลักษณะของ PHP ที่แตกตางจากภาษาสคริปตแบบอื่นๆ คือ PHP ไดรับการ พัฒนาและออกแบบมา เพื่อใชงานในการสรางเอกสารแบบ HTML โดยสามารถ สอดแทรกหรือ แกไขเนื้อหาไดโดยอัตโนมัติ ดังนั้นจึงกลาววา PHP เปนภาษาที่เรียกวา server-side หรือ HTML- embedded scripting language เปนเครื่องมือที่สําคัญชนิดหนึ่ง ที่ชวยใหเราสามารถสรางเอกสาร แบบ Dynamic HTML ไดอยางมีประสิทธิภาพและมีลูกเลนมากขึ้น PHP เกิดขึ้นไดอยางไร PHP เกิดในป 1994 โดย Rasmus Lerdorf โปรแกรมเมอรชาวสหรัฐอเมริกาไดคิดคนสราง เครื่องมือที่ใชในการพัฒนาเว็บสวนตัวของเขา โดยเขาใช PHP ในการเก็บขอมูลสถิติผูเขาชมเว็บ ของตนเอง โดยใชขอดีของภาษา C และ Perl ตอมา PHP เวอรชั่นแรกไดถูกพัฒนาและเผยแพรใหกับผูสนใจไปศึกษาในป ค.ศ. 1995ซึ่ง ถูกเรียกวา “Personal Home Page Tool” ซึ่งเปนที่มาของคําวา PHP นั่นเอง ซึ่งในระยะเวลานั้น PHP ยังไมมีความสามารถอะไรที่โดดเดนมากมาย จนกระทั่งถึงเมื่อประมาณกลางป 1995 Rasmus ไดสรางสวนติดตอกับฐานขอมูลชื่อวา Form Interpreter ( FI ) รวมทั้งสองสวน เรียกวา PHP/FI หรือ PHP เวอรชั่น 2 ใหมีความสามารถ จัดการเกี่ยวกับแบบฟอรมขอมูลที่ถูกสรางมาจากภาษา HTML และสนับสนุนการติดตอกับ โปรแกรมจัดการระบบฐานขอมูล mSQL ซึ่งก็เปนจุดเริ่มตนของ PHP มีคนที่เขามาเยี่ยมชมเว็บไซต ของเขาแลวเกิดชอบจึงติดตอขอเอาโคดไปใชบาง และนําไปพัฒนาตอ ในลักษณะของ Open Source ภายหลังมีความนิยมขึ้นเปนอยางมากภายใน 3 ปมีเว็บไซตที่ใช PHP/FI ในติดตอฐานขอมูล และแสดงผลแบบ ไดนามิกและอื่นๆ มากกวา 50000 ไซต นอกจากนีในราวกลางป ค.ศ.1997 PHP ไดมีการเปลี่ยนแปลงและถูกพัฒนาจากเจาของเดิม ้ คือ Rasmus ซึ่งพัฒนาอยูคนเดียวมาเปนทีมงาน โดยมีนาย Zeev Suraski และ Andi Gutmans ชาว  อิสราเอล มาทําการวิเคราะหพื้นฐานของ PHP/FI ตอมาก็มีเพิ่มเขามาอีก 3 คน คือ Stig Bakken รับผิดชอบความสามารถในการติดตอ Oracle, Shane Caraveo รับผิดชอบดูแล PHP บน Window 9x/NT, และ Jim Winstead รับผิดชอบการตรวจ ความบกพรองตางๆ และไดเปลี่ยนชื่อเปน
  • 2. Professional Home Page และไดนําโคดมาพัฒนาใหมเปน PHP เวอรชั่น 3 ซึ่งมีความสมบูรณมาก ขึ้น ตอมาในป ค.ศ.2000 PHP พรอม Zend Scripting Engine และความสามารถที่ทํางานกับ Webserver ยี่หออื่นไดนอกเหนือจาก Apache ทําให PHP 4 มีความสมบูรณแบบมากยิ่งขึ้น PHP เวอรชั่นตอไปคือ PHP 5 เริ่มตนออกเวอรชั่นทดสอบ(BETA 1) ตั้งแตกลางป 2003 และพัฒนาเปนตัวเต็มประมาณกลางป 2004 ปจจุบัน(01 June 2007) PHP5 ไดพัฒนามาถึงเวอรชั่น 5.2.3 แลว ทําไมนักพัฒนาเว็บเลือกใช PHP  ความรวดเร็วในการพัฒนาโปรแกรม เพราะวา PHP เปนโคดแบบ Embended คือ สามารถแทรกรวมกับภาษา HTML ไดอยาง อิสระ และหากเราพัฒนาโคดไวในรูปแบบ Class ที่เขียนขึ้นเพียงครั้งเดียวแลวเรียกใชงาน ไดตลอด ทําใหสะดวกและรวดเร็วตอการพัฒนาโปรแกรมตางๆ  PHP เปนโคดแบบ Open Source คําวา Open Source วาไปแลวก็มีความหมายเหมือนกับของฟรีนั่นเองครับ เนื่องจาก PHP มี กลุมของผูใชงานอยูเปนจํานวนมากทั่วโลก และมีเว็บไซตอยูเปนจํานวนมากที่เปนแหลง รวบรวมSourceCode หรือจะเปนบทความตางๆทําใหผูใชมือใหมๆหรือผูที่ตองการศึกษา สามารถหาSourcecodeมาเปนแนวทางในการพัฒนาโปรแกรมไดงายขึ้น  การบริหารหนวยความจํา(Memory Uasge) มีการใชงานหนวยความจําที่ดี กลาวคือ PHP จะไมเรียกใชงานหนวยความจําตลอดเวลา ทํา ให Server ไมจําเปนตองมีทรัพยากรมากนัก  อิสระตอระบบปฏิบัติการ เว็พแอพพลิเคชั่นทีถูกสรางขึ้นมาสามารถที่จะรันไดหลายระบบปฏิบัติการ ไมวาจะเปน ่ Unix, Linux หรือ Windows เปนตน .
  • 3. องคประกอบของภาษา PHP ในสวนนี้ผมจะกลาวถึงโครงสรางภาษา PHP ซึ่งเราตองเรียนรูกันกอนที่จะเขาไปถึงในสวน ของการเขียนคําสั่ง โดยเฉพาะในสวนของการกําหนดตัวแปร การเลือกเงื่อนไข คําสั่งทําซ้ํา คําสั่ง วนรอบ คําสั่งคํานวณ การเลือกเงื่อนไข ซึ่งเปนสิ่งที่เราตองใชอยูประจํา โครงสรางพื้นฐานของ PHP (Basic Syntax) รูปแบบการเขียน PHP เขียนได 4 แบบดังตัวอยาง ที่นิยมคือแบบที่ 1 และ 2 แบบที่ 3 ใช งานคลายกับ Java script สวนแบบที่ 4 ตัว tag <% จะเหมือนกับ ASP โดยเมื่อรันจะไดผลลัพธ เหมือนกัน และสามารถแทรกลงในสวนของภาษา HTML สวนใดก็ได 1.การเขียนโคดในรูปแบบภาษา SGML จะมีรูปแบบดังนี้ <? คําสั่งในภาษา PHP ; ?> 2. การเขียนโคดเพื่อใชรวมกับภาษา XHTML หรือ XML (แตสามารถใชใน HTML แบบปกติได) จะมีรูปแบบดังนี้ <?php คําสั่งในภาษา PHP ; ?> 3. การเขียนโคดในรูปแบบ JavaScript จะมีรูปแบบดังนี้ <Script Language="php"> คําสั่งในภาษา PHP ; </Script> 4. การเขียนโคดในรูปแบบ ASP จะมีรูปแบบดังนี้ <% คําสั่งในภาษา PHP ; %>
  • 4. * สําหรับรูปแบบที่ 4 จะใชไดกับ PHP 3.0.4 ขึ้นไป และจะตองไปแกไฟล php.ini ในโฟลเดอร C:WINDOWS เสียกอนโดยให asp_tags มีคาเปน On การเขียนสคริปต PHP ในรูปแบบใดก็ตามจะตองมีเครื่องหมาย semicolon ( ; ) ลงทาย คําสั่งเสมอเหมือนกับการเขียนภาษา C กับภาษา Perl และคําสั่งหรือฟงกชั่นในภาษา PHP จะเขียน ดวยตัวพิมพเล็กหรือพิมพใหญก็ได ( case-insensitive ) การจบ statement หรือสิ้นสุด script เราจะ ปดทายสคริปตดวยแท็ก ( ?> ) และคําสั่งสุดทายในสคริปตนั้นจะลงทายดวย semicolon ( ; ) หรือไมก็ไดเพราะจะถูกปดดวยแท็ก ( ?> ) อยูแลว นอกจากรูปแบบแลว การวาง code ผสมกับ HTML ก็เปนวิธีหนึ่ง <html> <head> <title>Example</title> </head> <body> <?php echo "Hi, I'm a PHP script!"; ?> </body> </html> Comment (การเขียนคําอธิบายโปรแกรม) การเขียนโปรแกรมที่มีความยาวและซับซอนมากๆอาจจะทําใหสับสนในภายหลังได วิธีที่ นิยมกันก็คือการเขียนคําอธิบายไวทายคําสั่งนั้นๆ หรือที่เรียกกันวา comments ใน PHP จะสามารถ เขียนในรูปแบบของภาษา C, C++ และ Unix shell-style comments ไดโดยจะไมนํามาประมวลผล จะเห็นแคใน souce code เทานั้น รูปแบบ <?php echo "This is a test"; // comment แบบ C++
  • 5. /* แบบนี้เปนการ comments แบบหลายบรรทัด จะใชในกรณี ที่คําอธิบายเยอะ*/ echo "This is yet another test"; echo "One Final Test"; # comment แบบ Unix shell-style ?> ขอควรระวัง PHP ไมรับ Comment แบบ nest <?php /* echo "This is a test"; /* comment ตัวนี้จะมีปญหา */ */ ?> คําสั่งแสดงผล เราสามารถใชคําสั่งเพื่อแสดงผลได 3 แบบคือ 1. echo 2. print 3. printf 1. คําสั่ง echo จะสามารถแสดงไดหลายประเภท เชน <?php echo " ทดสอบการใชคําสั่ง echo "; ?> นี่เราลองมาดูความสามารถอีกอยางของคําสั่ง echo กันคือความสามารถในการแยกนิพจน หรือ คาตัวแปรได โดยจะใชเครื่องหมาย , คั่น <?php echo " ทดสอบการใชคําสั่ง echo<br> " ;
  • 6. echo " <b>10+20 = " , 15+15 , "</b>" ; ?> สังเกตคําสั่ง echo "<b> 10+20 = " , 15+15 , "</b>" ; ผมไดใชเครื่องหมาย , คั้นระหวาง "<b> 10+20 =" และ "</b>" ไวเพื่อใหโปรแกรมแยกสวนที่เราตองการใหมันแสดงออกทางหนาแบบ ธรรมดากับสวนที่เราตองการใหโปรแกรมทําการคํานาณใหเรานั้นคือ 15+15 เมื่อคํานวณแลวจะได คา 30 โปรแกรมจะนะคาที่ไดจากการคํานวณมาแสดงแทน สวนแท็ก <br> และ <b>...</b> นั้นเปน แท็ก HTML ธรรมดาซึ่งผมใสไวเพื่อทําใหการแสดงผลสวยงามขึ้น <?php echo "ทดสอบการใชคําสั่ง echo " ; echo " 10+20 = " , 15+15 ; ?> 2. คําสั่ง print <?php print " ทดสอบการใชคําสั่ง print " ; ?> 3. คําสั่ง printf ในการใชคําสั่ง printf เราจะตองทราบชนิดของขอมูลที่เราตองการแสดงออกมาวาเปนชนิดใด เรา จะไดกําหนดคาลงไปถูงตองดังนี้ %d ตัวเลข %o เลขฐานแปด %c ขออักษร ( 1 ตัว ) %s ขอความ %f ทศนิยม <?php printf ( " 15+15 = %d <br> " , 15+15) ; printf ( " 20/3 = %d <br> " , 20/3 ) ; printf ( " 20/3 = %f <br> " , 20/3 ) ; ?>
  • 7. สังเกตคําสั่งที่ 2 และ 3 ใหดีนะครับ เราไดใชตัวคํานวณเหมือนกันแตกําหนดชนิดของขอมูลไม เหมือนกัน โดยคําสั่งที่ 2 ผมไดกําหนดชนิดขอมูลเปน %d แตในคําสั่งที่ 3 ไดกําหนดชนิดเปน %f ผลที่ไดก็จะแตกตางการกันครับ String แบงตามลักษณะตัวปดแบงออกเปน 3 แบบคือ • single quoted • double quoted • heredoc syntax (ไมอธิบาย) single quoted ตัวแปร ที่อยูภายใต single quoted ถือเปนขอความดวย echo ’this is a simple string’; echo ’You can also have embedded newlines in strings, like this way.’; echo ’Arnold once said: "I’ll be back"’; // output: ... "I’ll be back" echo ’Are you sure you want to delete C:*.*?’; // output: ... delete C:*.*? echo ’Are you sure you want to delete C:*.*?’; // output: ... delete C:*.*? echo ’I am trying to include at this point: n a newline’; // output: ... this point: n a newline double quoted การใช double quoted สามารถใชรวมกับ escaped characters ไดดังตาราง Escaped characters sequence meaning n linefeed (LF or 0x0A (10) in ASCII) r carriage return (CR or 0x0D (13) in ASCII) t horizontal tab (HT or 0x09 (9) in ASCII) backslash
  • 8. $ dollar sign " double-quote [0-7]{1,3} the sequence of characters matching the regular expression is a character in octal notation x[0-9A-Fa- the sequence of characters matching the regular expression is a character in f]{1,2} hexadecimal notation ขอควรระวังในการใช งาน $beer = ’Heineken’; echo "$beer’s taste is great"; // works, "’" is an invalid character for varnames echo "He drunk some $beers"; // won’t work, ’s’ is a valid character for varnames echo "He drunk some ${beer}s"; // works Simple syntax $fruits = array( ’strawberry’ => ’red’ , ’banana’ => ’yellow’ ); echo "A banana is $fruits[banana]."; echo "This square is $square->width meters broad."; echo "This square is $square->width00 centimeters broad."; // won’t work, // for a solution, see the complex syntax. Complex syntax $great = ’fantastic’; echo "This is { $great}"; // won’t work, outputs: This is { fantastic} echo "This is {$great}"; // works, outputs: This is fantastic echo "This square is {$square->width}00 centimeters broad."; echo "This works: {$arr[4][3]}"; echo "This is wrong: {$arr[foo][3]}"; // for the same reason // as $foo[bar] is wrong outside a string. echo "You should do it this way: {$arr[’foo’][3]}"; echo "You can even write {$obj->values[3]->name}"; echo "This is the value of the var named $name: {${$name}}";
  • 9. ตัวอยางการใชงาน String <?php $str = "This is a string"; /* การกําหนดคาใหกับ string. */ $str = $str . " with some more text"; /* ตอขอความกับตัวแปร */ $str .= " and a newline at the end.n"; /* ตอขอความกับตัวแปร อีกรูปแบบหนึ่ง และใช escaped newline. */ /* This string will end up being ’<p>Number: 9</p>’ */ $num = 9;+ $str = "<p>Number: $num</p>"; /* This one will be ’<p>Number: $num</p>’ */ $num = 9; $str = ’<p>Number: $num</p>’; /* Get the first character of a string */ $str = ’This is a test.’; $first = $str{0}; /* Get the last character of a string. */ $str = ’This is still a test.’; $last = $str{strlen($str)-1}; ?> Variable scope PHP โดยสวนใหญตัวแปรจะเปนแบบ Single scope ดังแสดงตามตัวอยาง $a = 1; include "b.inc"; ตัวอยาง การใชตัวแปร global และ local แบบที1 ตัวแปร a มีคาตางกัน ่ $a = 1; /* global scope */ Function Test () { echo $a; /* reference to local scope variable */
  • 10. } Test (); แบบที่ 2 การใชตัวแปร a และ b $a = 1; $b = 2; Function Sum () { global $a, $b; $b = $a + $b; } Sum (); echo $b; Iderntification and Data Type การกําหนดตัวแปรและชนิดของขอมูล (Type) ในภาษา PHP จะเหมือนกับภาษาระดับสูงอื่นๆ คือมีการกําหนดตัวแปร ซึงวิธีการกําหนด ่ ตัวแปรใน PHP นั้นจะใชเครื่องหมาย $ ดังนี้ $a = 1234; #ตัวอยางที่ 1 $b = -1234 #ตัวอยางที่ 2 ประโยชนสวนหนึ่งของการประกาศตัวแปรคือใชสําหรับเก็บคาของอมูลชั่วคราวในการกระทํา ตางๆ ซึ่งขอมูลที่ตัวแปรสามารถเก็บได จะมีทั้งตัวเลข ตัวอักษร ดังตารางตอไปนี้ ประเภทของตัวแปร คําอธิบาย Integers เก็บขอมูลตัวเลขที่เปนจํานวนเต็มเชน 236, -256 Floating point numbers เก็บขอมูลตัวเลขที่มีจุดทศนิยมเชน 1.236, -0.268 Strings เก็บขอมูลที่เปนตัวอักษร ขอความเชน "Hi", "Hello", "Year 1979" Arrays เก็บขอมูลที่เปนชุด หรือกลุมขอความ Objects เก็บขอมูลในลักษณะของการเรียกใชเปน Class Object หรือ Function Type juggling เก็บขอมูลในลักษณะที่ขนอยูกับตัว Operator ึ้
  • 11. การใชงาน Integers $a = 567; เปนจํานวนเต็มบวก $b = -956; เปนจํานวนเต็มลบ $c = 01236; เปนเลขฐาน 8 $d = 0x12F; เปนเลขฐาน 16 ในการกําหนดตัวแปรในลักษณะของ Integers เราสามารถกําหนดเปนเลขฐานไดได 3 เลขฐานคือ ฐาน 10, ฐาน 8, ฐาน 16 ดังนี้ ฐาน 10 คือตัวเลขที่ใชทั่วไป ฐาน 8 คือตัวเลขที่มีตั้งแต 0-7 ในการกําหนดใหเปนเลขฐาน 8 นั้นจะใหขึ้นตนดวยเลข 0 อยางเชน กําหนดตัวแปร เปน 0123 จะมีคาเทากับ 83 ในเลขฐาน 10 ฐาน 16 คือตัวเลขตั้งแต 0-9 และอักษร A-F แทนตัวเลข 10-15 การกําหนดใหเปนเลขฐาน 16 คือให ขึ้นตนดวย 0x Floating point numbers $a = 1.356 $b = 1.3e6 ใชกําหนดตัวเลขในรูปแบบทศนิยม และเลขยกกําลัง ดังเชน 1.3e6 จะหมายความวา 1.3 คูณ 10 ยก กําลัง 6 Strings การใชงาน String จะใชในการเก็บขอมุลที่เปนคาคงที่ เชนขอความตางๆ ในการกําหนด ประเภทของขอมูล String จะมีรหัสควบคุมดังนี้
  • 12. รหัสควบคุม คําอธิบาย n ใชสําหรับขึ้นบรรทัดใหม r ใชสําหรับใหตัว Cursor ไปอยูตนบรรทัด t ใชในการเลื่อน Tab ใชในการพิมพเครื่องหมาย $ ใชในการพิมพเครื่องหมาย $ " ใชในการพิมพเครื่องหมาย " [0-7]{1,3} ใชกําหนดอักขระใหเปนรหัส ASCII ฐาน 8 x[0-9A-Fa-f]{1,2} ใชกําหนดอักขระใหเปนรหัส ASCII ฐาน 16 ตัวอยางที่ 1 $a = "PHPThai.Net"; #กําหนดตัวแปร a เก็บขอความ PHPThai.Net $b = $a "site for You"; #กําหนดใหตัวแปร b มีคาเทากับตัวแปร a และตามดวยขอความ site for  You echo "$b"; #สั่งใหพิมพคาในตัวแปร b ออกมา ผลลัพธ PHPThai.Net site for You ตัวอยางที่ 2 $num = 2545; $c = " Year : $num "; $d = ' Year : $num '; echo "$c<br>"; echo "$d"; ผลลัพธ Year : 2545
  • 13. Year : $num ภายในเครื่องหมาย ' . . .' คาตัวแปรจะไมมีความหมายจะถือเปนเพียงขอความทั้งสิ้น ตัวอยางที่ 3 $e ="ASPThai.Net Site for You"; $first = $e[0] #เก็บคาของตัวแปร e ในตําแหนงแรกสุด $last = $e[strlen($e) – 1] #เก็บคาของตัวแปร e ในตําแหนงทายสุด echo "$first<br>"; echo "$last"; ผลลัพธ A u ตัวอยางที่ 4 $a = "", , $"; #กําหนดใหเก็บอักขระพิเศษตางๆ $b = "123, xad"; #กําหนดใหเก็บอักขระโดยใช ACSII ในฐาน 8 และฐาน 16 echo "$a<br>"; echo "$b"; ผลลัพธ ", , $ S, ญ Arrays อาเรย คือการเก็บขอมูลในลักษณะของชุดขอมูล โดยที่แตละชุดสามารถจะมีสมาชิกได หลายตัว และเราสามารถอางถึงสมาชิกในอาเรยนั้นไดโดยใชเครื่องหมาย _[ . . .]
  • 14. ตัวอยางการใชงาน อาเรย อาเรย 1 มิติ $a[0] = "abc"; #กําหนดใหสมาชิกลําดับที่ 0 ของอาเรย a เก็บคา abc $a[1] = "def"; #กําหนดใหสมาชิกลําดับที่ 1 ของอาเรย a เก็บคา def $b["asp"] = 13; #กําหนดใหสมาชิกชื่อ asp ของอาเรย b เก็บคา 13 อาเรยหลายมิติ $a[1] = $f; #อาเรยแบบ 1 มิติ $a["asp"] = $f; #อาเรยแบบ 1 มิติ $a[1][0] = $f; #อาเรยแบบ 2 มิติ $a["asp"][2] = $f; #อาเรยแบบผสม 2 มิติ $a[3]["diaw"] = $f; #อาเรยแบบผสม 2 มิติ $a["asp"][2]["diaw"][0] = $f; #อาเรยแบบผสม 4 มิติ Object Object คือการเขียนชุดคําสั่งที่เรามักใชงานบอยๆ หรือใชงานในลักษณะพิเศษ เพื่อความ สะดวกในการทํางานอาจจะอยูในรูปแบบของ Class หรือ Function เชน class asp { function do_asp () { echo "ASPThai.Net"; } } $bar = new asp; $bar -> do_asp();
  • 15. จากโคดเราไดสราง class asp และมีฟงกชั่นชื่อ do_asp อยูภายในคลาสตอมาเราไดสรางตัว แปร bar ที่เปนออบเจกตทเี่ กิดจากคลาส asp ($bar = new asp;) ตัวแปร bar ที่เราสรางจากคลาส asp จะมีคุณสมบัติเหมือนคลาส asp คือสามารถใชฟงกชั่น do_asp ได ($bar -> do_asp();) Type juggling เปนการเก็บขอมูลในลักษณะที่ขึ้นกับตัว Operator เชน $asp = 5 + "15 diaw"; $asp จะมีคาเทากับ 20โดยดูจาก Operator เปนเครื่องหมาย + ทําให PHP มองคาทั้ง 2 เปนตัวเลข  ตัวอยางการใชงานตัวแปร และตัวแปรระบบ ในการประกาศตัวแปรใน PHP นั้นจะใชเครื่องหมาย $ นําหนาชื่อตัวแปร สวนชื่อตัวแปร จะขึ้นตอนดวยอักษรพิมพเล็กหรือพิมพใหญก็ไดเพราะถือวาเปนอักขระคนละตัว ดังนั้นเวลา เรียกใชก็ระบุชื่อตัวแปรใหตรงกับที่ตั้งไวก็แลวกัน ที่สําคัญคือตองปดทายดวยเครื่องหมาย; (semi – colon) ตัวอยางที่ 1 จะเปนการประกาศตัวแปรชนิด String ซึ่งตองอยูภายในเครื่องหมาย " . . ." หรือ ' . . .' <? $a = "ASPThai"; $A = ".Net"; echo "$a$A"; ?> ผลลัพธที่ได คือขอความวา ASPThai.Net ตัวอยางที่ 2 จะเปนการประกาศตัวแปรชนิดตัวเลข Integer ซึ่งไมจําเปนตองมีเครื่องหมาย " . . . " <?
  • 16. $a = 50; $b = 10; $echo $a+$b; ?> ผลลัพธที่ไดคือ ผลรวมของตัวเลข เทากับ 60 นอกจากนี้ยังตัวแปรระบบที่เราไมตองประกาศ เพราะมีพรอมอยูแลวใหเราเรียกใช ซึ่งตาราง ขางลางนี้เปนตัวแปรที่เราสามารถนํามาใชได ชื่อตัวแปร ความหมายและผลลัพธ GATEWAY_INTERFACE เก็บคา CGI Specification เชน CGI/1.1 SERVER_NAME เก็บชื่อ Host ที่ใชบริการเชน www.aspthai.net SERVER_SOFTWARE เก็บชื่อ Software ที่ใหบริการในขณะนั้นเชน Apache/1.3.9 (Unix) PHP/3.0.12 SERVER_PROTOCAL เก็บชื่อของโพรโตคอลที่ใชในการรับสงขอมูล เชน HTTP/1.0 REQUEST_METHOD เก็บวิธีการสงขอมูลวาเปนแบบ GET หรือแบบ POST QUERY_STRING เก็บชุด String ที่สงตอทายมากับ URL DOCUMENT_ROOT เก็บคาเสนทางของ Root Directory ที่วิ่งไปอาน ครั้งแรก HTTP_ACCEPT_LANGUAGE ภาษาที่ใชงานอยูขณะนั้น เชน th HTTP_CONNECTION บอกถึงสถานะภาพการติดตอ เชน Keep – Alive HTTP_USER_AGENT บอกชนิดของ Browser ที่ใชงาน REMORT_ADDR คา IP Address ของเครื่อง REMORT_PORT ตรวจสอบหมายเลข Port ของเครื่องผูใชที่ ติดตอกับ Web Server ในขณะนั้น SCRIPT_FILENAME บอกถึงเอกสาร PHP ?กําลังแสดงในขณะนั้น รวมถึง Path ดวย SERVER_ADMIN แสดงคาของผูดูแล Web Server ที่ไดระบุไวใน
  • 17. ไฟล httpd.conf ตรงบรรทัดที่เขียนวา ServerAdmin เชน aspthai@inet.co.th SERVER_PORT แสดงหมายเลข Port ของเครื่องที่เปดใหบริการ เชน 80 SERVER_SIGNATURE แสดงเวอรชั่นของโปรแกรมที่ใช, Host ที่ ใหบริการและหมายเลข Port ที่เปดใหบริการ เชน IIS5 Server at aspthai.inet.co.th Port 640 PATH_TRANSLATED แสดง Path หรือตําแหนงของ Script SCRIPT_NAME แสดงชื่อเอกสารที่กําลังเปดอยูในขณะนั้น ตัวอยางการใชงาน <? echo "$REMOTE_ADDR<br>"; echo "$HTTP_USER_AGENT<br>"; echo "$SERVER_SOFTWARE<br>"; ?> Control Structure ตัวควบคุมการทํางาน ในการเขียนโปรแกรมคอมพิวเตอรนั้น คอมพิวเตอรจะทํางานโดยเรียงลําดับลงมาจากบน – ลงลาง (Top – Down) แตถาเราตองการสั่งใหคอมพิวเตอรทํางานยอยกลับ หรือมีการทํางานซ้ํา เราจะตองมีตัวคอบคุมการทํางานดังนี้
  • 18. If . . .Else . . .ElseIf คําสั่ง If เปนคําสั่งสําหรับกําหนดใหโปรแกรมทํางานอยางมีเงื่อนไข โดยเริ่มตนในการ ตรวจสอบนิพจน วาคาที่ไดเปนจริงหรือเท็จ และนําคาที่ไดเปนตัวเลือกวาจะกระทําตามคําสั่งใด ดัง ตัวอยางตอไปนี้ ตัวอยางที่ 1 การใชงาน If ตรวจสอบเงื่อนไขเดียว <? $a = 30; $b = 20; If ($a > $b) { echo " a มากกวา b"; } ?> จากตัวอยางขางตนเปนการตรวจสอบเงื่อนไขเดียวคือ ตัวแปรa มากกวา ตัวแปรb ซึ่งถาเปนจริง ตามเงื่อนไขก็จะพิมพคําวา " a มากกวา b" ออกมาแตถาไมตรงก็จะออกจากคําสั่ง ตัวอยางที่ 2 การใช If . . . else ตรวจสอบ 2 เงื่อนไข <? $a = 30; $b = 20; If ($a > $b) { echo " a มากกวา b"; } else { echo " a นอยกวา b"; } ?>
  • 19. จากตัวอยางขางตนเปนการตรวจสอบเงื่อนไข 2 เงื่อนไขโดยเงื่อนไขหลักจะอยูที่ หลังคําสั่ง If คือ ตัวแปรa มากกวา ตัวแปรb ($a > $b) ซึ่งถาเปนจริงตามเงื่อนไขก็จะพิมพคําวา " a มากกวา b" ออกมาแตถาไมตรงก็จะทําตามคําสั่ง else คือพิมพคา " a นอยกวา b" ตัวอยางที่ 3 การใชงาน If ซอน If เพื่อตรวจสอบหลายเงื่อนไข <? $a = 10; $b = 10; If ($a > $b) // ถา $a มากกวา $b ใหพิมพขอความดานลาง { echo "a มีคามากกวา b"; } elseif ($a == $b) // ถา $a เทากับ $b ใหพิมพขอความดานลาง { echo "a มีคาเทากับ b";} else // ถาไมใชทั้ง 2 กรณีดานบนใหพิมพขอความ ดานลาง { echo "a มีคานอยกวา b";} ?> จากตัวอยางนี้จะเปนการตรวจสอบโดยใช If และ elseif เขามาชวยเพิ่มขอกําหนดในการตรวจสอบ ใหมากขึ้นกวาเดิมอีก โดยที่คุณสามารถเพิ่ม elseif ไดเรื่อยๆ แตตองปดทายดวย else ตามตัวอยาง ดานบน While คําสั่ง while เปนคําสั่งในการวนรอบ โดยจะมีการตรวจสอบเงื่อนไขกอนแลวคอยมีการ ทํางานตามลําดับ แตถาเงื่อนไขไมเปนตามที่กําหนดก็จะออกจากการวนรอบของ while ทันทีดัง ตัวอยางนี้ ตัวอยางที่ 1 <? $i = 1;
  • 20. while ($I <= 10) { echo $I++; echo "<br>"; } ?> ตัวอยางที่ 2 <? $i = 1; while ($I <= 10) ; echo "$I <br>"; $I++; endwhile; ?> จากทั้ง 2 ตัวอยางดานบน ผลลัพธที่ไดจะเหมือนกันคือ แสดงตัวเลขออกมาตั้งแต 1 ถึง 10 แตตางกันที่วิธีการเขียนโครงสรางของคําสั่งที่เราสามารถเขียนได 2 แบบก็แลวแตจะเลือกใช do . . while คําสั่ง do . . while คือคําสั่งในการวนรอบเชนเดียวกัน แตตางกันตรงที่จะมีการทํางานตาม คําสั่งที่ตองการกอน แลวจึงคอยตรวจสอบเงื่อนไขทีหลัง ซึ่งถาเงื่อนไขเปนตามที่กําหนด ก็จะ วนรอบขึ้นมาทํางานตามคําสั่งที่ตองการใหม แตถาเงื่อนไขไมตรงกับที่กําหนด ก็จะออกจากการ วนรอบทันที ดังนี้ ตัวอยางที่ 1 หาผลบวกของตัวเลขตั้งแต 1 ถึง 10 <? $i = 1; $total = 0; do { // เขาสูเงื่อนไขของ do $total = $total + $i; // ให $total มีคาเทากับ ตัวเองบวกดวยคาของ $i ซึ่ง เริ่มตนที่ 1
  • 21. $i ++; // บวกคาของ $i ไปอีก 1 } while ($i <= 10); // ถา $i ยังไมมากกวา หรือ เทากับ 10 ใหวนรอบ do อีก ครั้ง echo "ผลลัพธคือ : "; echo $total; ?> ผลลัพธที่ไดคือ 55 จะเห็นไดวาการเขียนดวย do . . .while จะมีการทําตามคําสั่งกอนที่จะ ตรวจสอบเงื่อนไขซึ่งตางกับ while ทีตรวจสอบเงื่อนไขกอน ่ for คําสั่ง for เปนคําสั่งในการวนรอบอีกคําสั่งหนึ่งแตจะไมมีการตรวจสอบเงื่อนไข เพียงแต ทําตามคําสั่งที่กําหนดไวแลวเทานั้น ตัวอยางการใชงานคําสั่ง for <? for ($i = 1; $i <= 10; $i++ ) { echo "$i <br>"; } ?> ขอสังเกต : ภายใน for ( . . . ) $i = 1; คือการกําหนดคาเริ่มตน $i <= 10; คือการกําหนดคาจุดสิ้นสุด $i++ คือการกําหนดใหเพิ่มไปทีละ 1 ผลลัพธที่ไดคือ จะมีการวนรอบเพื่อพิมพคา 1 ถึง 10
  • 22. break คําสั่ง break คือคําสั่งที่ใชในการหลุดออกจากเงื่อนไข หรือจบเงื่อนไขทันทีดังตัวอยางนี้ <? $i = 0; while ($I <= 50) { if ($i ==20) { break; } echo "$i <br>"; $i++; } ?> ที่จริงแลวคําสั่งนี้จะตองพิมพคา 0 ถึง 50 ออกมา แตเนื่องจากมีการใชคําสั่ง if มาตรวจเช็คเมื่อถึง 20 ถาเปนจริงก็จะทําคําสั่ง break และหยุดการวนรอบทันทีทําใหผลลัพธที่ไดออกมาคือ 1 ถึง 19 continue คําสั่ง continue เปนคําสั่งที่ใชควบคูกับคําสั่งในการวนรอบ โดยเมื่อโปรแกรมทําการรัน คําสั่งนี้ จะทําการกระโดดไปเริ่มตนใหมทันที ( ใชกับคําสั่ง for, while) ตัวอยาง เปนการพิมพเลขคูจาก 0 ถึง 50 <? for ($a = 0; $a <= 50; $a++) { if ($a % 2) { continue } //เปนเลขคี่กระโดดไปเริ่มตนใหม echo "$a <br>"; //ใหพิมพเลขคูออกมา } ?> switch คําสั่ง switch เปนคําสั่งในการเลือกเงื่อนไขจํานวนมากๆ ซึ่งจะสะดวกกวาการใชคําสั่ง if
  • 23. ตัวอยาง <? $a = 2; switch ($a) { case 0; echo "a มีคาเทากับ 0"; break; case 1; echo "a มีคาเทากับ 1"; break; case 2; echo "a มีคาเทากับ 2"; break; default; echo "a ไมมีคาเทากับ 0 ,1 หรือ 2"; } ?> จากตัวอยางเรากําหนด ใหคาตัวแปร a มีคาเทากับ 2 ดังนั้นการทํางานของคําสั่งจะอยูใน case ที่ 2 include (); คําสั่ง include() เปนคําสั่งในการเรียก PHP Script ที่อยูในไฟลอื่นเขามาทํางาน โดย สามารถเรียกใชงานภายใตคําสั่งของการวนรอบ ( Loop ) และสามารถที่จะนํามาเปรียบเทียบ เงื่อนไขการทํางานได ตัวอยางที่ 1 เรียกใชคําสั่ง include() ภายใตการวนรอบของคําสั่ง for <? $fa = array (‘a.inc’, ’b.inc’, ‘c.inc’, ‘d.inc’); for ($i = 0; $i < count($fa); $++) {
  • 24. include $fa[$I]; } ?> จากตัวอยางแรก จะใชอาเรย fa เปนตัวเก็บขอมูลของไฟลทั้งหมด 4ไฟล จากนั้นจะทําการวนรอบ เพื่อเรียกใช (include) ทีละไฟล ตัวอยางที่ 2 เรียกใชคําสั่ง include() ภายในเงื่อนไขของการเปรียบเทียบ <? $a = 12; if ( $a == 12 ) { include("asp.inc") }else{ include("diaw.inc") } ?> require (); คําสั่งนี้จะเปนคําสังในการเรียก PHP Script ที่อยูในไฟลอื่นเขามาทํางานซึ่งคลายกับ ่ include เพียงแตสามารถเรียกใชภายใตคําสั่งการวนรอบได (Loop) <? require (‘header.inc’); ?>