วันศุกร์ที่ 13 พฤษภาคม พ.ศ. 2559

Step 9 Operator ใน PHP

PHP Operators

ใน PHP จะทำการแบ่งกลุ่มของ Operators ไว้ดังนี้

Arithmetic operators

กลุ่มนี้เป็นกลุ่มของการคำนวน ใช้กับตัวเลข
ExampleNameResult
-$aNegationค่าตรงข้ามของ $a
ถ้า $a เป็น + ค่าที่ได้จะกลายเป็นลบ
ส่วนถ้า $a มีค่าเป็น - ค่าที่ได้จะกลายเป็น +
$a + $bAdditionผลบวกของ $a และ $b.
$a - $bSubtractionผลลบของ $a และ $b.
$a * $bMultiplicationผลคูณของ $a และ $b.
$a / $bDivisionผลหารของ $a และ $b.
$a % $bModulusผลที่ได้จะเป็น "เศษ" ที่ได้จากการหารของ$a และ $b.
$a ** $bExponentiationผลที่ได้จะเป็น $a ยกกำลัง $b
*** ใช้ได้ตั้งแต่ PHP 5.6 ขึ้นไปเท่านั้น

Assignment operators

เป็นกลุ่มของการกำหนดค่าให้กับตัวแปร ใช้กับตัวเลขเท่านั้น
กำหนดค่าเหมือนกับรายละเอียด
$x = $y$x = $yกำหนดค่าของตัวแปรด้านขวาให้กับตัวแปรด้านซ้าย
$x += $y$x = $x + $yเพิ่มค่าไปอีก $y จากค่าที่ $x มีอยู่
$x -= $y$x = $x - $yลดค่าลงไป $y จากที่ $x มีอยู่
$x *= $y$x = $x * $y$x เท่ากับ $x คูณ $y
$x /= $y$x = $x / $y$x เท่ากับ $x หาร $y
$x %= $y$x = $x % $y$x เทากับ เศษที่ได้จากการนำ $x ไปหารด้วย $y

Comparison operators

กลุ่มของการเปรียบเทียบ ผลลัพธ์จาก Operator กลุ่มนี้จะเป็น TRUE หรือ FALSE
ExampleResult
$a == $bTRUE ถ้า $a มีค่าเทียบเท่ากับ $b ไม่จำเป็นต้องมี Data Type เดียวกัน เช่น 0 มีค่าเทียบเท่ากับ False
$a === $bTRUE ถ้า $a มีค่าเท่ากับ $bและมี Data Type ชนิดเดียวกัน
$a != $bTRUE ถ้า $a ไม่เท่ากับ $b หลังจากที่ PHP พยายามแปลงค่า
*** ดังนั้นจึงได้ว่า $a ไม่เทียบเท่ากับ $b
$a <> $bTRUE ถ้า $a ไม่เทียบเท่ากับ $b เหมือนกับ "!="
$a !== $bTRUE ถ้าค่าของ $a ไม่เท่ากับ $b
หรือมี Data Type ไม่เหมือนกัน
$a < $bTRUE ถ้า $a มีค่าน้อยกว่า $b
$a > $bTRUE ถ้า $a มีค่ามากกว่า $b
$a <= $bTRUE ถ้า $a มีค่าน้อยกว่าหรือเท่ากับ $b
$a >= $bTRUE ถ้า $a มีค่ามากกว่าหรือเท่ากับ $b

Increment/Decrement operators

กลุ่มนี้เป็นกลุ่มของการเพิ่มค่า และการลดค่าของตัวแปร
ExampleEffect
++$aเพิ่มค่า $a อีก 1 ก่อนจะที่จะทำการ return ค่า
$a++return ค่า $aก่อนแล้วถึงจะทำการเพิ่มค่าทีหลัง
--$aลดค่าของ $a ลง 1 แล้วค่อยทำการ return ค่า
$a--return ค่า $aก่อนแล้วค่อยทำการลดค่าของ $aลง 1

**** การใช้งานเครื่องหมาย ++ และ -- อย่างง่ายๆคือ ถ้าเราไม่ทำการ return ค่าของตัวแปรออกไปก็จะไม่ต้องกังวลกับเครื่องหมาย ++ หรือ --
เราควรจะใช้ $x++; อย่างเดียว อย่าพยายามใช้ echo $x++;

Logical operators

เป็นกลุ่มของการเชื่อมเงื่อนไขต่างๆ เข้าด้วยกัน
ExampleNameResult
$a and $bAndTRUE ถ้าค่าของ $a และ $b เป็นจริง
$a or $bOrTRUE ถ้าค่าของ $a หรือ $b เป็นจริง
$a xor $bXorTRUE ถ้าค่าของ $a และ $b ต่างกัน
*** ถ้าตัวใดตัวหนึ่งเป็น TRUE อีกตัวต้องเป็น FALSE
! $aNotTRUE ถ้า $a เป็น FALSE.
$a && $bAndTRUE ถ้าค่าของ $a และ $b เป็นจริง เหมือนกับ "and"
$a || $bOrTRUE ถ้าค่าของ $a หรือ $b เป็นจริง เหมือนกับ "or"

String operators

กลุ่มของ operators ที่ทำงานกับข้อความ
ExampleNameResult
$a . $bConcatenationเชื่อมข้อความ $a และ $bเข้าด้วยกัน
$a .= $bConcatenation assignmentเชื่อมข้อความ $b ต่อท้าย $a

Array operators

กลุ่มของ operators ที่ทำงานกับ array
ExampleNameResult
$a + $bUnionนำเอา Array $a และ $bมา Union กัน
$a == $bEqualityTRUE ถ้า $a และ $b มีค่าใน Array เหมือนกัน เทียบทั้ง Key และ Value
(ไม่จำเป็นต้องเรียงลำดับ)
$a === $bIdentityTRUE ถ้า $a และ $b เป็นตัวแปรชนิดเดียวกัน รวมทั้งมีค่า key และ value ตรงกัน (ตามลำดับ)
$a != $bInequalityTRUE ถ้า $a ไม่เท่ากับ Array $b
$a <> $bInequalityTRUE ถ้า $a ไม่เท่ากับ Array $b เหมือนกับ "!="
$a !== $bNon-identityTRUE ถ้า $a ไม่เท่ากับ Array $b
ตรงข้ามกับ "===="

Step 8 การประกาศ Constant ใน PHP

การประกาศค่าคงที่ใน PHP

ก่อนอื่นต้องทำความเข้าใจเกี่ยวกับค่าคงที่(Constants)กันก่อน
  • Constant จะเป็นเหมือนกับตัวแปรทั่วไปแต่จะไม่สามารถเปลี่ยนแปลงค่าได้
  • Constant จะต้องนำหน้าด้วยตัวอักษรหรือ underscore(_) เท่านั้น
  • ไม่จำเป็นต้องมีเครื่องหมาย $ นำหน้า
  • ค่าคงที่จะอยู่ใน Global Scope โดยอัตโนมัติ

การกำหนดค่า Constant

การกำหนดค่า Constant จะใช้ function define() ในการกำหนดค่า โดย define() จะมี parameters อยู่ 3 ตัวด้วยกันคือ
  1. ชื่อ Constant
  2. ค่าของ Constant
  3. ต้องการให้ชื่อเป็น Case-insensitive (ตัวอักษรตัวใหญ่หรือตัวเล็กไม่ต่างกัน) โดย default จะเป็น FALSE

define("PI", 3.14159);
echo PI;


ถ้าต้องการให้เรียกใช้ค่าคงที่(Constant) แบบ Case-insensitive ด้วยการกำหนด Parameter ตัวที่ 3 เป็น TRUE

define("PI", 3.14159, true);
echo pi; // เราสามารถใช้ pi หรือ PI ก็ได้


Step 7 การใช้ String Function ใน PHP

String Function

String Function เป็นฟังก์ชั่นที่ทำงานกับข้อความ โดยฟังก์ชั่นที่ใช้บ่อยๆ มีดังนี้

PHP strlen() Function

เป็นฟังก์ชั่นสำหรับการหาความยาวของข้อความ ในตัวอย่างเป็นการหาความยาวของคำว่า IRobust Training Center

echo strlen("PHP Training Center");

ผลลัพธ์ ที่ได้จะเป็น 23

TIP. ส่วนใหญ่จะใช้ใน loop ที่ต้องการวนทุกๆตัวอักษรในข้อความ แล้วต้องการหาจำนวนรอบทั้งหมดที่ต้องวน

PHP strpos() function

เป็นฟังก์ชั่นสำหรับหาตำแหน่งของตัวอักษรหรือข้อความในข้อความที่ต้องการ
ถ้าค้นหาพบจะ return ตำแหน่งที่พบในตำแหน่งแรก ถ้าไม่พบก็จะ return FALSE กลับมา

echo strpos("PHP Training Center", "Training");

ผลลัพธ์ ที่ได้จะเป็น 4
เนื่องจากตำแหน่งของตัวอักษรเริ่มนับตั้งแต่ 0 ไม่ใช่ 1 ดังนั้นผลลัพธ์ที่ return กลับมาคือ 4 ไม่ใช่ 5
คำเตือน การตรวจสอบว่า ค้นพบหรือไม่ต้องใช้เครื่องหมาย "===" แทนที่จะใช้ "==" เพราะถ้าเราเจอตัวอักษรนั้นตั้งแต่ตำแหน่งแรก strpos() จะ return ค่ากลับมาเป็น 0
ทำให้ if จะมองว่าเป็น FALSE เพราะถ้าเราเปรียบเทียบด้วยเครื่องหมาย "==" จะมองว่า 0 กับ FALSE มีค่าเท่ากัน

if(strpos("PHP Training Center", "PHP") === TRUE){
    // พบคำว่า PHP ในข้อความ
}

Step 6 รู้จักกับ Data Type ใน PHP

ทำไมต้องรู้จักกับ Data Types

PHP เป็นภาษาที่ไม่ต้องการการประกาศตัวแปร อย่างที่เราได้พูดถึงไปแล้วก่อนหน้านี้ แต่การที่เรากำหนดค่าให้กับตัวแปรทุกครั้ง PHP จะทำการเลือก Data Type ที่เหมาะสมให้กับเรา เราจึงจำเป็นต้องทำความเข้าใจเรื่องของ Data Type ที่มีใน PHP เพราะ Data type แต่ละแบบอาจให้ผลลัพธ์ไม่เหมือนกัน เช่น 3+5 จะต่างจาก "3" + "5"

Data Types ใน PHP

  • String
  • Integer
  • Float
  • Boolean
  • Array
  • Object
  • Null

String

String เป็นสายอักขระ หรือข้อความที่เรียงต่อกัน เป็น Data Type ที่มีอยู่ในทุกๆภาษา
ตัวแปรชนิดนี้จะอยู่ใน Single Qoute ('') หรือ Double Qoute ("") ก็ได้

$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;

Integer

Integer เป็นเลขจำนวนเต็มระว่าง -2,147,483,648 and +2,147,483,647 กฎของ Integers
  • มีเฉพาะตัวเลข 0-9
  • ห้ามมี comma (,) หรือ ตัวว่าง
  • ห้ามมีจุดทศนิยม
  • เป็นได้ทั้ง + และ -
  • Integer สามารถเขียนได้ทั้งเลขฐาน 8, ฐาน 10 และ ฐาน 16

$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // negative number 
var_dump($x);
echo "<br>"; 
$x = 0x8C; // hexadecimal number
var_dump($x);
echo "<br>";
$x = 047; // octal number
var_dump($x);


Float

Floating Point Number เป็นเลขทศนิยม

$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);

Boolean

เป็นตัวแปรที่มีค่าเป็น True หรือ False ใช้ในการตรวจสอบเงื่อนไข

$x = true;
$y = false;

Array

เป็นลักษณะการเก็บข้อมูลหลายๆค่าไว้ในตัวแปรเดียว
เราจะพูดถึงในรายละเอียดของการเก็บข้อมูลแบบ Array ในบทต่อไป

$cars = array("Volvo","BMW","Toyota");
var_dump($cars);

Object

การเก็บข้อมูลในแบบที่เป็น Object จะคล้ายๆกับ Array แต่การเรียกขอ้มูลจะไม่เหมือนกัน
ชนิดข้อมูลแบบ Object จะมีอยู่ 2 แบบใหญ่ๆคือ - Standard Class จะเป็น Class ที่ไม่ต้องทำการ Define

$obj = new stdObject();
$obj->name = "Nick";
$obj->surname = "Doe";
$obj->age = 20;
$obj->adresse = null;

  • Predefined Class เป็น Class ที่ต้องทำการ Define ขึ้นมาก่อน

class Car {
    var $color;
    function Car($color = "green") {
        $this->color = $color;
    }
    function what_color() {
        return $this->color;
    }
}

NULL Value

เป็น Data Type ที่มีค่า NULL ได้เพียงค่าเดียว เป็น Data Type ที่บอกว่าตัวแปรยังไม่มีข้อมูล
  • ใช้สำหรับแยกระหว่าง Empty String และ Null ใน database
  • ใช้สำหรับ set ตัวแปรให้เป็นค่าว่าง

$x = "Hello world!";
$x = null;
var_dump($x);

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...