ตัวปฏิบัติการ php6



ตัวปฏิบัติการ
กำหนดค่า
การกำหนดค่าใน PHP จะใช้เครื่องหมายเท่า “=” กับเช่นเดียวกันกับภาษา C และ Java นอกจากนี้ PHP ยังสนับสนุน Combinded Operator สำหรับตัวเลขและตัวอักษรอีกด้วย ดังตัวอย่างต่อไปนี้
<?
$a = $b = ($c=2) + 3;
// ผลลัพธ์ที่ได้คือ $a และ $b มีค่าเป็น 5 ส่วน $c มีค่าเป็น 2

$a = 9;
$a +=4;
// ผลลัพธ์ที่ได้คือ $a มีค่าเป็น 13

$st = "Good";
$st .= " Morning";
// ผลลัพธ์ที่ได้คือ $at = "Good Morning" เป็นต้น

?>
นอกจากนี้ใน PHP 4 ยังสนุนสนุนการ Assign ค่าแบบ Reference อีกด้วย เช่น
<?
$a = 4;
$b = &$a;
// $b และ $a จะอ้างอิงถึงข้อมูลชุดเดียวกัน

$b = 9;
// ผลลัพธ์ที่ได้คือ ทั้ง $a และ $b จะมีค่าเป็น 9
?>

คณิตศาสตร์
การคำนวณทางคณิตศาสตร์พื้นฐานต่างๆ ที่PHP สามารถทำได้คือการบวก การลบ การคูณ การหาร และ การหารเอาเศษ (Modulo) นอกจากนี้ยังมีการ Intrement และ Decrement อีกด้วย ซึ่งมีลักษณะการทำงานแสดงได้ดังตัวอย่างต่อไปนี้
ตัวอย่าง
การทำงาน
$a + $bหาผลรวม (บวก)
$a - $bหาผลต่าง (ลบ)
$a * $bคูณ
$a / $bหาร
$a % $bหารเอาเศษ
$a++Postincrement
++$aPreincrement
$a--Postdecrement
--$aPredecrement
สำหรับผู้ที่คุ้นเคยกับภาษาเช่น C นั้นคงจะเข้าใจการทำงานของ Pre/Post Increment และ Decrement เป็นอย่างดี นั้นคือการ Assign ค่าก่อนแล้วจึงประมวลผล หรือ การ Assign ค่าหลังจากการประมวลผล สำหรับผู้ที่ไม่คุ้นเคยขอให้ดูตัวอย่างต่อไปนี้เพื่อประกอบความเข้าใจ
<?
$a=5;
// $a มีค่าเป็น 5
$b=$a++;
// $a มีค่าเป็น 6 $b มีค่าเป็น 5
$c=++$a;
// $a และ $c มีค่าเป็น 6
$d=--$c;
// $c และ $d มีค่าเป็น 5
$e=$d--;
// $e มีค่าเป็น 5 $d มีค่าเป็น 4
?>

เปรียบเทียบ
การเปรียบเทียบค่าบน PHP จะให้คำตอบเป็นจริงหรือเท็จเช่นเดียวกันกับภาษาอื่นๆ โดยการเปรียบเทียบจะใช้ได้กับข้อมูลทุกประเภท ไม่ว่าจะเป็นตัวอักษร หรือ จำนวนก็ตาม สัญลักษณ์ของเครื่องหมายที่ใช้แสดงได้ดังนี้
ตัวอย่าง
การทำงาน
$a == $bเป็นจริงเมื่อ $a เท่ากับ $b
$a === $bเป็นจริงเมื่อ $a เท่ากับ $b และเป็นข้อมูลชนิดเดียวกัน (PHP 4)
$a != $bเป็นจริงเมื่อ $a ไม่เท่ากับ $b
$a < $bเป็นจริงเมื่อ $a น้อยกว่า$b
$a > $bเป็นจริงเมื่อ $a มากกว่า$b
$a <= $bเป็นจริงเมื่อ $a น้อยกว่าเท่ากับ$b
$a >= $bเป็นจริงเมื่อ $a มากกว่าเท่ากับ $b
อย่างไรก็ตาม PHP ยังสนับสนุนการทำงานแบบ Conditional Operator เช่นเดียวกันกับภาษา C กล่าวคือ หากเขียนว่า $a = ($b==$c)? "เท่ากัน" : "ไม่เท่ากัน"; แล้ว จะทำให้ $a มีค่าเป็น "เท่ากัน" เมื่อ $b มีค่าเท่ากับ $c และ มีค่าเป็น "ไม่เท่ากัน" ถ้า $b ไม่เท่ากับ $c เป็นต้น
bitwise
การกระทำทาง bitwise ของ PHP จะประกอบด้วยเครื่องหมายหลักพื้นฐานคือ And , Or , Exclusive-Or, Not, Shift Left และ Shift right ดังจะแสดงได้ตามตารางต่อไปนี้
ตัวอย่าง
การทำงาน
$a & $b$a and $b
$a | $b$a or $b
$a ^ $b$a xor $b
~$anot $a
$a << $bShift $a left $b ครั้ง
$a >> $bShift $a right $b ครั้ง
ตัวอย่างการใช้งาน Bitwise Operator เช่น
<?
$a = 0x0a;
$b = 0x28;

$c = $a & $b;
// $c จะมีค่าเป็น 0x08

$d = 8;
$d = $d << 2;
// $d จะมีค่าเป็น 32
?>

ตรรกะ
ผู้เขียนโปรแกรมโดยทั่วไปมักจะสับสนระหว่าง Logical Operation และ bitwise Operation อย่างไรก็ตามเพื่อไม่ให้เกิดความสับสน ผู้เขียนมีข้อแนะนำในการจำคือ Logical Operation จะให้ผลลัพธ์เป็น จริงหรือเท็จเท่านั้น ส่วน bitwise Operation จะให้ผลลัพธ์เป็น Binary ส่วนการเปรียบเทียบค่าแบบ Logical บน PHP จะใช้สัญลักษณ์ดังต่อไปนี้
ตัวอย่าง
การทำงาน
$a and $b หรือ $a && $bเป็นจริงถ้า $a และ $b เป็นจริง
$a or $b หรือ $a || $bเป็นจริงถ้า $a หรือ $b เป็นจริง
$a xor $bเป็นจริงถ้า $a และ $b อันใดอันหนึ่งเป็นจริงเท่านั้น
! $aเป็นจริงถ้า $a เป็นเท็จ
ตัวอย่างการใช้งานเช่น
<?
$a = 5;
$b = 10;

$c = (($a=$b) and ($a !=0)) ? "เท่ากับ":"ไม่เท่ากัน หรือเป็น 0";
?>

ตัวอักษร
ตัวปฏิบัติการที่ใช้ได้กับตัวอักษรมีเพียงตัวเดียวเท่านั้นคือ concatinate ซึ่งเป็นการนำเอาตัวอักษรมาต่อกัน โดยใช้สัญลักษณะแทนคือ จุด“.” ดังจะแสดงได้ตามตัวอย่างต่อไปนี้
<?
$a = "Hello";
$name = "krerk";

echo $a . " , " . $name;
?>

การจัดการ Error
ภาษา PHP มีโครงสร้างที่รองรับความผิดพลาดที่อาจจะเกิดขึ้นได้จากการประมวลผลคำสั่งต่างๆ คือ ”@” ซึ่งจะทำให้ Program ไม่แสดงค่า Error ของระบบออกมาเมื่อมีการประมวลผล ช่วยให้ผู้ใช้สามารถจัดการกับ Error ที่อาจจะเกิดขึ้นได้ ดังตัวอย่างต่อไปนี้
<?
$conn = @mysql_connect() or die ("Database connection Fail");

// โปรแกรมจะไม่แสดง ERROR ที่เกิดจากการประมวลผลคำสั่ง
// mysql_connect
?>
เรียกโปรแกรมอื่น
นอกจากนี้ PHP ยังสนับสนุนการนำผลลัพธ์จากโปรแกรมภายนอกอื่นๆ มาใช้งานต่ออีก เช่น หากผู้ใช้ต้องการนำผลลัพธ์จากคำสั่ง ls บน Unix มาใช้งาน สามารถทำได้โดยเขียนคำสั่งดังกล่าวใน backquote เช่นเดียวกันกับ Shell Script หรือ Perl ดังตัวอย่างต่อไปนี้
<?
$list = `ls`;
// จะได้ผลลัพธ์จากการทำงานคำสั่ง ls เก็บอยู่ใน $list
echo "<pre> $list </pre>";

?>
รายละเอียดเพิ่มเติมให้ดูจาก system(), passthru(), exec(), popen(), and escapeshellcmd().