PHP: PHP Hypertext Preprocessor

Home

PHP Tutorial
Knowledge Developer Database Internet Resource
ภาษา PHP
1. ประเภทข้อมูล
2. การแปลงประเภทข้อมูล
3. ตัวแปรและค่าคงที่
4. Operator
5. การใช้ Operator คำนวณผลรวมของฟอร์ม
6. โครงสร้างควบคุม
 
PHP เบื้องต้น
1. เริ่มต้นด้วย PHP
2. ภาษา PHP
3. การทำงานไฟล์ และไดเรคทอรี
4. การทำงานกับ Array
5. การควบคุมข้อความ และนิพจน์ปกติี่
6. คำสั่งใช้ใหม่และฟังก์ชัน
7. Object Oriented Programming
 
PHP
PHP เบื้องต้น
การสร้างโปรแกรมประยุกต์เว็บ
PHP ระดับสูง
 
Internet
PHP
SSI
HTML
AJAX
 
PHP เบื้องต้น > ภาษา PHP

ตัวแปรและค่าคงที่

ตัวแปรและค่าคงที่เป็นสมาชิกพื้นฐานในการทำงานของภาษาโปรแกรมทั่วไปรวมถึง PHP

การกำหนดค่าคงที่

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

define ("SHAMPOOPRICE", 50);
define ("CONDITIONERPRICE",50);
define ("SOAPPRICE", 35);

ให้สังเกตว่า ชื่อของค่าคงที่เป็นตัวพิมพ์ใหญ่ เนื่องจากเป็นแบบแผนการตั้งชื่อ ตามแบบภาษา C เพื่อแยกระหว่างตัวแปรกับค่าคงที่ แบบแผนนี้ไม่บังคับแต่ช่วยทำให้คำสั่งอ่านและบำรุงรักษาได้ง่าย

ความแตกต่างสำคัญประการหนึ่ง ระหว่างค่าคงที่กับตัวแปรคือ เมื่ออ้างอิงค่าคงที่ไม่ต้องใช้เครื่องหมายดอลลาร์นำหน้า  ถ้าต้องการใช้ค่าคงที่ ให้ใช้เฉพาะชื่อ  ตัวอย่าง
echo  SOAPPRICE;

ประเภทข้อมูลและค่าพิเศษ

ประเภทข้อมูลและค่าพิเศษไม่สามารถจัดเข้าสู่กลุ่มประเภทข้อมูลจึงต้องแยกอธิบายต่างหาก

NULL

NULL เป็นประเภทข้อมูลและค่าพิเศษใน PHP ที่ระบุ “ไม่มีค่า” หรือ “ค่าว่าง” ตัวแปรเป็น NULL ได้

  1. ถ้าตั้งด้วยคีย์เวิร์ด NULL และค่านี้ชนิดตัวพิมพ์มีผล
  2. ถ้าไม่เคยได้รับการกำหนดค่า
  3. ถ้ากำหนดด้วยเมธอด unset

NULL แตกต่างจากค่าจำนวนเต็ม 0 หรือข้อความว่าง ‘ ‘ เพราะสองค่านี้ได้รับการตั้งค่า การทดสอบค่า NULL เรียกฟังก์ชัน is_null

<?php

$myvalue = Null ;  // NULL เป็นค่าชนิดตัวพิมพ์มีผล
echo is_null($myvalue); // มีค่าเป็น 1

?>

Resource

เมื่อ PHP ต้องการรักษาค่าบนอ๊อบเจคที่ไม่จำเป็นต้องมาจาก PHP เช่น การเชื่อมต่อฐานข้อมูลหรือจัดการ กับอ๊อบเจคของระบบปฏิบัติการ ตัวแปรพิเศษนี้เรียกว่า resource

ตามปกติ resource ส่งผ่านระหว่างฟังก์ชันที่ทำงานเช่นนี้ ได้รับการปล่อยโดย PHP engine เมื่อไม่มีความจำเป็น ถ้าใช้ฟังก์ชัน var_dump บนตัวแปร resource จะเห็นผลลัพธ์ลักษณะนี้
Resource(2) of type (mysql link)

ตัวแปร By Value และ By Reference

ตามค่าเริ่มต้น ตัวแปรและค่าคงที่ได้รับการกำหนดแบบ by value เมื่อกำหนดค่าจาก 1 ตัวแปรไปยังอีกตัว ค่าได้รับการคัดลอก สิ่งนี้ทำงานได้กับประเภทข้อมูลทั้งหมด ยกเว้นอ๊อบเจค

<?php

$a = 200;  
$b = $a;  // $b มีสำเนาของค่าเป็น 200
$c = "hello";  
$d = $c; // $d เก็บสำเนาของ "hello"
$e = array(1, 2, 3);  
$f = $e;  // ทั้ง $e และ $f มีค่า (1, 2, 3)
$f[2] = 4;  // $f มีค่า(1, 2, 4), $e ไม่มีการเปลี่ยน
$g = SOAPPRICE;  // $g มีค่าของค่าคงที่ SOAPPRICE (0)

?>

การกำหนดค่าแบบ by reference เป็นการบอกตัวแปรให้กระทำเป็น "alias" ของอีกตัวแปรที่ทั้งคู่อ้างอิงถึงข้อมูลเดียวกัน การกำหนดให้เติมคำนำหน้าด้วย & operator

<?php

$a = 123;  
$b = &$a; // $b และ $a อ้างอิงถึงข้อมูลเดียวกัน
$a = 456; // $b มีค่าเป็น 456 !
   
$arr = array(array(1), array(2), array(3));  
$sub = &$arr[0]; // $sub อ้างถึง array เดียวกันเป็น $arr[0]
$sub[0] = 100; // $sub[0] และ $arr[0][0] ทั้งคู่มีค่า 100

?>

Scope ของตัวแปร

คำว่า scope อ้างถึงพื้นที่ภายในสคริปต์ที่มองเห็นตัวแปรได้ ประเภทพื้นฐานของ scope ใน PHP คือ

  1. Global  เป็นการประกาศตัวแปรในสคริปต์ที่มองเห็นได้ทั่วทั้งสคริปต์ แต่ไม่ใช่ภายในฟังก์ชัน
  2. ตัวแปรที่ใช้ภายในฟังก์ชันเป็นตัวแปรภายในฟังก์ชัน
  3. ตัวแปรที่ใช้ภายในฟังก์ชันแต่ประกาศเป็น global อ้างอิง เป็นตัวแปร global ของชื่อเดียวกัน

ตัวแปร Predefined

PHP มาพร้อมกับตัวแปร predefined จำนวนหนึ่งที่ให้สารสนเทศเกี่ยวกับสภาพแวดล้อมการทำงานปัจจุบัน ส่วนใหญ่เป็น global array ด้วยชื่อ คีย์อ้างอิงถึงสารสนเทศเฉพาะที่ค้นหาได้

  1. $GLOBAL สิ่งนี้เก็บการอ้างอิงถึงตัวแปร global ทั้งหมดภายในสคริปต์ คีย์ของ array นี้เป็นชื่อของตัวแปร
  2. $_SERVER สิ่งนี้เก็บสารสนเทศเกี่ยวกับบริบทในการประมวลผลสคริปต์ เช่น ชื่อแม่ข่าย ชื่อเพจที่กำลังเรียกใช้ สารสนเทศเกี่ยวกับการเชื่อมต่อ และอื่นๆ
  3. $_GET, $_POST สิ่งนี้เก็บตัวแปรที่เพจส่งให้แม่ข่ายเป็นส่วนของฟอร์ม HTML
  4. $_SESSION, $_COOKIE สิ่งนี้เก็บสารสนเทศการจัดการผู้เยี่ยมชม และสิ่งอำนวยความสะดวกจัดเก็บเป็น “cookie”
  5. $_REQUEST สิ่งนี้เก็บเนื้อหาของ $_GET, $_POST และ $_SESSION
  6. $_ENV สิ่งนี้เก็บตัวแปร environment สำหรับกระบวนการสำหรับ PHP engine ที่กำลังประมวลผล คีย์ของ array เป็นชื่อของตัวแปร environment
  7. $php_errormsg สิ่งนี้เก็บข่าวสารความผิดพลาดครั้งสุดท้ายที่สร้างโดย PHP engine ขณะที่กำลังประมวลสคริปต์ปัจจุบัน มีให้เฉพาะภายใน scope ของคำสั่งที่เกิดความผิดพลาด และถ้าตัวเลือกคอนฟิก track_errors ใน php.ini เป็น on

ทดสอบสถานะตัวแปร

PHP มีฟังก์ชันทดสอบสถานะของตัวแปรหลายฟังก์ชัน

isset ()  ใช้ชื่อตัวแปรเป็น อากิวเมนต์ และ ส่งออก TRUE ถ้าตัวแปรมีอยู่ กรณีอื่นเป็น FALSE
int  isset (mixed  var);

unset () ใช้กำจัดตัวแปร และส่งค่าออกเป็น TRUE
int  unset (mixed var);

empty()  ใช้ตรวจสอบว่าตัวแปรมีอยู่และเป็นค่าว่างหรือเป็นศูนย์  ส่งออกค่าเป็น TRUE หรือ FALSE ตามกรณี
int empty (mixed var);

ตัวอย่างการใช้ ฟังก์ชัน และ เขียนคำสั่งลงในสคริปต์
echo  isset($shompooqty);
echo  isset($nothere);
echo  empty($shampooqty);
echo  empty($nothere);

ตัวแปร $shampooqty จะส่งออกค่า TRUE จาก isset() ไม่ว่ามีได้รับค่าจากฟิลด์ของฟอร์มหรือไม่ ส่วน empty() ขึ้นกับการรับค่า

ตัวแปร  $nothere ไม่มีอยู่จริง ดังนั้นจะส่งออกค่า FALSE จาก isset() และให้ผลลัพธ์ TRUE จาก empty()  ฟังก์ชันเหล่านี้สามารถใช้สร้างความมั่นใจว่ามีการป้อนค่าให้กับฟิลด์ในฟอร์ม


  

สงวนลิขสิทธิ์ (C) widebase / Julaphak