การเขียนโปรแกรมภาษา PHP

            
               

Sample
<?
$a=5;
$b=8;
$c=4;
echo "<font size=5 face='arial'>";
echo "$a + $b = ",$a+$b,"<br>";
echo "$c - ($a + $b) = ",$c - ($a+$b),"<br>";
echo "$b * $c = ,$b*$c,"<br>";
echo "$b / $c = ",$b /$c,"<br>";
echo "$b / $a =",$b / $a,"<br>";
echo "$b % $a =",$b % $a,"<br>";
?>
Out Put

5 + 8 = 13
4 - (5+8) = -9
8 * 4 = 32
8 / 4 = 2
8 / 5 =1.6
8 % 5 = 3


Sample

<?
$x=3;
echo $x++,"<BR>\n";
echo $x,"<BR>\n";
$x=3;
echo ++$x,"<BR>\n";
echo $x,"<BR>\n";
$x=3;
echo $x--,"<BR>\n";
echo $x,"<BR>\n";
$x=3;
echo --$x,"<BR>\n";
echo $x,"<BR>\n";
?>
การกำหนดค่าของตัวแปรที่เป็นตัวเลขหรือสตริงค์โดยใช้ assignment operators

การกำหนดค่า (assignment ) หรือเปลี่ยนแปลงค่าให้แก่ตัวแปร จะใช้โอเปอร์เรเตอร์ (assignment operators) ได้ในหลายๆรูปแบบ เหมือนอย่างที่ใช้ในภาษาซี ตามตัวอย่างต่อไปนี้

<?
$x=0;
$x += 1; // the same as $x = $x + 1;
$x--; // the same as $x = $x - 1;
$x *= 3; // the same as $x = $x * 3;
$x /= 2; // the same as $x = $x / 2;
$x %= 4; // the same as $x = $x % 4;
$x="";
$x .= 'A'; // append char to an existing string
$x .= "BC"; // append string to an existing string
?>

จากตัวอย่างข้างบน ในกรณีของการต่อสตริงค์ เราจะใช้จุด (.) เป็นโอเปอร์เรเตอร์



การใช้ตัวแปรเป็นชื่อของตัวแปร


ภาษา PHP เปิดโอกาสให้เราสามารถเลือกหรือเปลี่ยนชื่อของตัวแปรได้ ตัวอย่างเช่น

<?
$a = "var1";
$$a = 10.3;
echo "$a ${$a} $$a <BR>\n";
echo "$var1 <BR>\n";
?>

จากตัวอย่างข้างบน เรากำหนดให้ตัวแปร $a เก็บสตริงค์ "var1" และจะใช้เป็นชื่อของตัวแปรอีกตัวหนึ่ง โดยทางอ้อม $$a เป็นการอ้างถึงตัวแปรที่มีชื่อเดียวกับค่าของตัวแปร $a (ในกรณีนี้คือ var1) ดังนั้นถ้าเราเขียนว่า $$a หรือ $var1 ก็หมายถึงตัวแปรตัวเดียวกัน ถ้าต้องการแสดงค่าของ $$a โดยใช้คำสั่ง echo โดยอยู่ในสตริงค์ (ระหว่าง double quotations) เราจะต้องเขียน ${$a} ไม่ใช่ $$a เพราะว่า ถ้าเขียนตามแบบหลัง ตัวแปลคำสั่งจะอ่านค่า $a ก่อนแล้วแทนที่ลงในข้อความ ซึ่งจะได้ $var1แทนที่จะเป็นการอ่านค่าของ $var1
เทคนิคนี้ยังสามารถใช้ได้กับฟังก์ชัน ตัวอย่างเช่น


<?
function foobar() {
echo "foobar<BR>\n";
}
function callFunc ($f) {
if ( is_string($f) == true) {
$f();
}
}
callFunc("foobar");
?>

ตัวอย่างข้างบนอาจจะทำให้เกิดปัญหาถ้าสมมุติว่า $f เป็นชื่อของฟังก์ชันที่ไม่มีอยู่จริง วิธีตรวจสอบคือ การใช้ฟังก์ชัน function_exists() ดังต่อไปนี้


<?
function MyFunc() {
print ("ok..<BR>\n");
}
$f="myFunc";
if ( function_exists($f) ) {
$f();
}
else {
echo "$f does not exist!";
}
?>
1. If...else สามารถใช้ได้ 2 วิธคือ
Sample1.php
<?
$a = 1;
if ($a==1)
{
echo"a=1 OK";
}
?>
Out Put
a=1 OK

 

 

 

อีกตัวอย่างครับ
<?
if ($x == 0) {
echo $x;
echo " is zero.<BR>\n";
}
else if ($x > 0) {
echo $x;
echo " is positive.<BR>\n";
}
else {
echo $x;
echo " is negative.<BR>\n";
}
?>
Sample2.php
<?
$a = 1;
if ($a > 2)
{
echo" OK a > 2";
}
else
{
echo" Not OK a < 2";
}
?>
Out Put
Not OK a < 2

2.if..elseif..esle
Sample3.php
<?
$a = 4;
if ($a==1)
{
echo" a = 1 OK ";
}
elseif ($a==2)
{
echo" a = 2 OK";
}
elseif ($a==3)
{
echo" a = 3 OK ";
}
else
{
echo" a Not OK ";
}
?>
Out Put
a Not OK

3.Switch Case
Sample4.php
<?
$a = 3;
Switch ($a)
{
case 1 : echo "a = 1 OK";
break;
case 2 : echo "a = 2 OK";
break;
case 3 : echo "a = 3 OK";
break;
case 4 : echo "a = 4 OK";
break;
default : echo " a Not OK";
}
?>
out Put
a = 3 OK
ดูอีกตัวอย่างครับ

<?
$day=1;
switch ($day) {
case 1 :
echo "Monday<BR>\n";
break;
case 2 :
echo "Tuesday<BR>\n";
break;
case 3 :
echo "Wednesday<BR>\n";
break;
case 4 :
echo "Thurday<BR>\n";
break;
case 5 :
echo "Friday<BR>\n";
break;
case 6:
echo "Saturday<BR>\n";
break;
case 7 :
echo "Sunday<BR>\n";
break;
default :
echo "error<BR>\n";
}
?>
Out Put

Monday
เพิ่มเติมครับ

หากใช้อยู่ในรูปของ String จะกำหนดเป็น Case "String"
3.Break
คำสั่ง break และ continue ภายในลูปอย่างที่ใช้กันในภาษาซี ก็นำมาใช้กับภาษา PHP ได้ ตัวอย่างเช่น

Sample5.php

<?
unset($a);
$a[]=1;
$a[]=2;
$a[]=3;
$a[]="red";
$a[]="green";
$a[]="blue";
$a[]="none";
$i=0;
$found="not found";
for ($i=0; $i < count($a); $i++) {
if ( is_long($a[$i]) ) { // skip all integer elements
continue;
}
if ($a[$i] == "blue") {
$found=$a[$i];
break;
}
}
echo $found,"<BR>\n";
?>

4.Continue
เป็นคำสั่งกระโดการทำงานรอบใหม่ คือ เมื่อโปรแกรมเจอคำสั่งนี้จะกระโดดทำงานใหม่ทันที
ตัวอย่าง
<html>
<body>
<?
for ($a=0;$a<=20;$a++)
{
if ($a % 2) continue;
echo "$a <br>";
}
?>
</body>
</html>
คำสั่ง continue บังคับให้ไปเริ่มต้นทำขั้นตอนในการวนลูปครั้งต่อไป


5.Require และ Include

คำสั่งทั้งสองเอาไว้แทรกเนื้อหาจากไฟล์อื่นที่ต้องการ ข้อแตกต่างระหว่าง include และ require อยู่ตรงที่ว่า ในกรณีของการแทรกไฟล์ใช้ชื่อต่างๆกันมากกว่าหนึ่งครั้งโดยใช้ลูป คำสั่ง require จะอ่านเพียงแค่ครั้งเดียว คือไฟล์แรก และจะแทรกไฟล์นี้เท่านั้นไปตามจำนวนครั้งที่วนลูป ในขณะที่ include สามารถอ่านได้ไฟล์ต่างๆกันตามจำนวนครั้งที่ต้องการ

<?
$filename[]="file1.inc";
$filename[]="file2.inc";
for ($i = 0; $i < 2; $i++) {
include $filename[$i];
}
?>
ไฟล์ file1.inc
Hello world 1<BR>

ไฟล์ file2.inc
Hello world 2<BR>

ตัวอย่างการแทรกไฟล์ที่มีคำสั่งสคริปต์


<?
include ("script.inc");
?>

ไฟล์ script.inc:

<P><CENTER><BLINK><? echo "Hi, How are you!" ?></BLINK></CENTER>

การแทรกไฟล์ภายในโครงสร้างของ if-else หรือ for-loop เป็นต้น มีข้อควรระวังเวลาใช้ คือ จะต้องใส่ { } เอาไว้ เพื่อให้อยู่ในบล็อกของโครงสร้าง

if ($version < 1.0) {
include ($DOCUMENT_ROOT."/old.inc");
}
else {
include ( $DOCUMENT_ROOT."/new.inc") ;
}

ดังนั้นควรจะระมัดระวัง การแทรกไฟล์โดยใช้ include หรือ require ในตำแหน่งๆต่าง โดยเฉพาะอย่างยิ่งในกรณีที่ แทรกไฟล์ที่มีคำสั่ง PHP อยู่ด้วย



6.Redirect

เป้นการย้ายการทำงานของ Page ปัจจุบันเพื่อไปไฟล์เป้าหมาย

header('location:file.php');
7.or
เงื่อนไข OR
ข้อกำหนดเงื่อนไข
เหตุการณ์เป็นจริงเหตุการณ์ใดเหตุการณ์หนึ่ง ก็คือพบข้อมูลตัวแปรตัวใดตัวหนึ่ง โปรแกรมจึงจะทำงาน
ตัวอย่างคำสั่ง

<html>
<body>
<?
$name=paskorn;
$named=;
if (($name == "") && ($named == "")){
print "ข้อมูลไม่สมบรูณ์";
}else{
print "<h1>เงื่อนไข OR เป็นจริงอย่างใดอย่างหนึ่งหรือทั้งสองอย่าง โปรแกรมก็สามารถทำงานได้</h1>" ;
print "Your First name is $name<br>" ;
print "and Last name is $named" ;
}
?>
</body>
</html>


9.And
ข้อกำหนดเงื่อนไข
เหตุการณ์จะต้องเป็นจริงทั้งสองเหตุการณ์ ก็คือพบข้อมูลตัวแปรทั้งสอง โปรแกรมจึงจะทำงาน
ตัวอย่างคำสั่ง
<html>
<body>
<?
$name=paskorn;
$named=roungrong;
if (($name == "") || ($named == "")){
print "ข้อมูลไม่สมบรูณ์";
}else{
print "<h1>เงื่อนไข AND เป็นจริงทั้งสองอย่าง โปรแกรมจะทำงาน</h1>" ;
print "Your First name is $name<br>" ;
print "and Last name is $named" ;
}
?>
</body>
</html>
For

จะทำงานจนเงื่อนไขนั้นเป็นเท็จ ถึงจะกระโดดออกจากลูป

Sample1.php
<?
For ($a=1;$a<=5;$a++)
{
echo"<font size=$a> ข้อความใหญ่ขึ้น และจะหยุดทำงานเมื่อ a=5 <br> ";
}
?>

Out Put
ข้อความใหญ่ขึ้น และจะหยุดทำงานเมื่อ a=5
ข้อความใหญ่ขึ้น และจะหยุดทำงานเมื่อ a=5
ข้อความใหญ่ขึ้น และจะหยุดทำงานเมื่อ a=5
ข้อความใหญ่ขึ้น และจะหยุดทำงานเมื่อ a=5
ข้อความใหญ่ขึ้น และจะหยุดทำงานเมื่อ a=5
Sample2.php
<?
$a=array("Somchai","Werachai ","Surachai","Adisorn");
for($i=0;$i<=3;$i++)
{
echo"name : $a[$i] <br>";
}
?>
Out Put
name : Somchai
name : Werachai
name : Surachai
name : Adisorn
While
จะพิจารณาเงื่อนไขแล้วค่อยทำ ถ้าเงื่อนไขเป็นจริงจะทำ ถ้าเท็จ จะกระโดดออกจากลูปทันที
Sample3.php
<?
$a=1;
while ($a<=5)
{
echo"<font size=$a> ข้อความใหญ่ขึ้น และจะหยุดทำงานเมื่อ a=5 <br> ";
$a++;
}
?>

TOP