| PHP เบื้องต้น > ภาษา PHP ประเภทข้อมูลการทำงานกับประเภทข้อมูลของ PHP แตกต่างจากภาษาอื่นเล็กน้อย  โดย PHP เป็นภาษา richly typed ที่ตัวแปรไม่ต้องมีการประกาศเป็นประเภทข้อมูลเจาะจง  เพราะ engine กำหนดประเภทที่ใช้ตามกฎ บางครั้งเรียกสิ่งนี้ว่าประเภทข้อมูลไดนามิคส์            PHP สนับสนุนประเภทข้อมูล 
        integerfloat หรือ doublestringbooleanarrayobject Integer        integer คือจำนวนเต็ม  ตามปกติความแม่นยำขึ้นกับระบบปฏิบัติการ ส่วนใหญ่เป็นขนาด 32 บิต ใน PHP ไม่มี unsigned integer ดังนั้นค่ามากที่สุดของจำนวนเต็มคือ  2 พันล้าน เมื่อเกินจำนวนมากที่สุดของ integer ใน PHP จะแปลงไปเป็น float แทนที่จะไปเป็นจำนวนเต็มลบเหมือนภาษาอื่น  <?php 
                $large =  2147483647;var_dump($large);
 $large = $large  + 1;var_dump($large);
         ?>  ผลลัพธ์ คือInt(2147483647)                  float(2147483648)
  integer ระบุในคำสั่งเป็นระบบเลขฐาน 8, ฐาน 10 หรือ ฐาน 16 ได้ การหารเลขจำนวนเต็มใน  PHP จะไม่ให้ผลลัพธ์เป็นจำนวนเต็ม เช่น นิพจน์5 / 2
 PHP มีผลลัพธ์คือ 2.5 ด้วยประเภทข้อมูล float แทนที่จะเป็นจำนวนเต็ม  2 เหมือนกับภาษาอื่น ถ้าต้องการค่าจำนวนเต็มจากการหาร  ต้องมีการแปลงค่าเป็นจำนวนเต็ม หรือใช้ฟังก์ชัน round
 Float        float คือจำนวนทศนิยมหรือจำนวนจริง  มีขนาด 64 บิตด้วยความแม่นยำของทศนิยม 14 ตำแหน่ง PHP ไม่ได้แบ่งออกเป็น  single และ double ตามความแม่นยำเหมือนกับภาษาอื่น  อย่างไรก็ตาม PHP ยอมรับคีย์เวิร์ด double เพิ่มเติมจาก float ที่มีความหมายตรงกัน <?php 
        
          | $floatvar1 =  8.457; |  |  
          | $floatvar2 =  5.23e3; | // เหมือนกับ  5230.0 |  
          | $floatvar3 = 7.2e+4; | //  เหมือนกับ 72000.0 |  
          | $floatvar4 =  1.234e-4; | // เหมือนกับ 0.0001234 |  
          | $floatvar5 =  100000000000; | // ใหญ่เกินไปสำหรับ  integer แปลงเป็น float |  ?> ข้อควรระวัง       สำหรับ  float ควรระวังความจำกัดด้านความแม่นยำ  การคำนวณที่ต้องการความแม่นยำสูงอาจจะมีปัญหาได้ แต่การประยุกต์ทั่วไปควรจะเพียงพอ String         string  เป็นชุดของตัวอักษร ใน PHP ตัวอักษรมีค่า 8 บิต ค่า  string ระบุได้ 3 วิธี
 Single  Quoted         ข้อความ  single quoted เป็นชุดตัวอักษรที่เริ่มต้นและปิดท้ายด้วย single  quote() echo 'ข้อความ single  quote';
 ในการรวม  single quote ภายในข้อความให้วาง backslash (\) ด้านหน้า ที่เรียกว่าตัวอักษร escapeecho 'การแสดง single  quote \' ';
 Double Quoted        ข้อความ  double quoted คล้ายกับข้อความ single quoted ยกเว้น ตัวประมวลผลภาษา PHP ตัดสิ่งเหล่านี้เพื่อค้นหาและแทนที่  ชุดตัวอักษร escape และตัวแปรนอกจากนี้ตัวอักษร  escape \" ต้องการแทรก double quote ภายในข้อความ  double quoted ต่อไปเป็นชุด escape ที่  PHP รู้จัก
 ตาราง 1.2.1 escape 
        
          | Escape | ผลลัพธ์ |  
          | \n | ตัวอักษรขึ้นบรรทัดใหม่ (char(10) หรือ 0x0a/10 ใน    ASCII) |  
          | \r | ตัวอักษร Carriage    return (char(13) หรือ 0x0a/13 ใน ASCII) |  
          | \t | ตัวอักษรแท็บ |  
          | \\ | ตัวอักษร backslash |  
          | \$ | ตัวอักษรดอลลาร์ |  
          | \0ตัวเลขฐานแปด | ตัวอักษรที่แสดงโดยค่าในช่วง 0-255 ด้วยการระบุเป็นเลขฐานแปด |  
          | \xตัวเลขฐานสิบ | ตัวอักษรที่แสดงโดยค่าในช่วง 0-255 ด้วยการระบุเป็นเลขฐานสิบ  |  PHP ไม่สนับสนุนตัวอักษร escape อื่น  และถ้าไม่ตรงกับชุดตัวอักษรตามตาราง 1.1 จะพิมพ์ backslash และตัวอักษรนั้น <?php echo "ข้อความ double  quote "; echo "<br/>";
 echo "แสดงผล double  quote \" - \" ";
 echo "<br/>";
 echo "แสดงผล double  quote \042 - \042 ";
 echo "<br/>";
 echo "แสดงผล backslash  และ ก \ก ";
 echo "<br/>";
 ?> Heredoc Notationวิธีที่ 3 สำหรับข้อความนำส่วนหัวในสคริปต์ PHP  คือใช้ไวยากรณ์ heredoc ไวยากรณ์นี้เหมือนกับสคริปต์  PERL และ Bourne Shell ข้อความเริ่มต้นด้วย  <<< และ identifier จนกระทั้งสิ้นสุดด้วย  identifier วางชิดซ้ายและ semicolon (;) <?php       echo  <<<TITLE<h1 align="center">แสดงข้อความด้วย Heredoc</h1>
 <p>การแสดงข้อความด้วย heredoc
 
 สามารถทำงานกับข้อความได้สะดวก <br/>
 การเว้นบรรทัดใช้ br  tag <br/>
 </p>
 TITLE;?>
 ห้ามวางเครื่องหมายต่าง เช่น จุด คูณ บวก ติดกับ identifier จะมีผลต่อการกระจายของ PHP Boolean        boolean เป็นประเภทข้อมูลง่ายที่สุดใน PHP และ  แสดงเป็นค่าไบนารี TRUE หรือ FALSE, YES หรือ NO,1 หรือ 0 ค่าของตัวแปร boolean สามารถเป็นได้ทั้ง TRUE หรือ FALSE   2 คีย์เวิร์ดที่ตัวพิมพ์ไม่มีผล <?php $bln1 = tREu;$bln2 = TrUE;
 $bln3 = fAlsE;
 $bln4 = FaLSe;
 ?>
 Arrayarray  เป็นวิธีความสามารถสูงในการจัดกลุ่มข้อมูลด้วยวิธียืดหยุ่นในการเข้าถึง การใช้ array สามารถใช้เป็นตัวเลขอย่างง่าย  หรือการจับคู่อย่างยืดหยุ่นด้วยการเข้าถึงค่าผ่าน คีย์ประเภทหลังเรียกว่า  associative arrayการประกาศ array ใช้เมธอด array เพื่อการสร้างค่าเริ่มต้นและส่งอ๊อบเจค  array ที่เก็บค่าเหล่านี้
 <?php $peripheral =  array("Laser Print", "Inkjet", "Modem", "CD-ROM");$prime =  array(1, 2, 3, 5, 7, 11, 13, 17);
 $mixed =  array(234.22, "คอมพิวเตอร์", 45, array(4, 6, 8),  TRUE);
 ?>
 ตามค่าเริ่มต้น  ค่าภายใน array ได้รับการกำหนดเป็นดัชนีที่เริ่มต้นจาก 0  ในการเพิ่มหน่วยข้อมูลใหม่ด้วยไวยากรณ์นี้  <?php  $peripheral[ ] =  "LAN Card";             // หน่วยข้อมูลเพิ่มใหม่ที่ดัชนี 4$peripheral[ ] =  "VGA Card";             // หน่วยข้อมูลเพิ่มใหม่ที่ดัชนี 5
 ?>
 รวมทั้งสามารถระบุดัชนีของรายการเพิ่มใหม่  ถ้าใหญ่กว่าดัชนีสุดท้ายใน array จะมีช่องว่างลำดับตัวเลข <?php$peripheral[45]  = "CD Writer";
 ?>
  การเข้าถึงหน่วยข้อมูลใน  array สามารถทำโดยการให้ตัวเลขดัชนีในวงเล็บสี่เหลี่ยม <?phpecho  $peripheral[2];             // พิมพ์ผล Modem
 ?>
 การระบุค่าด้วยข้อความแทนที่ตัวเลขเริ่มต้น  การกำหนดระบุคู่ คีย์-ค่า ด้วย => operator เมื่อสร้าง  array <?php $developer  = array("software" => "PHP",        "website"  => "www.php.net", "database"  => "MySQL",        "decription" => "Web Developer");
 echo  $developer["website"]               //  พิมพ์ผล www.php.net
 ?>
  array  เป็นเครื่องมือที่สำคัญใน PHP ดูเพิ่มเติมได้ในบทที่ 4 "การทำงานกับ Array" Object        เมื่อ PHP สนับบสนุน object-oriented programming ในเวอร์ชันนี้มีการปรับปรุงและบางสิ่งอาจจะมากกว่าภาษาอื่น  โดยย่อ object-oriented programming  คือการใช้ประเภทข้อมูลใหม่ (เรียกว่า object หรือ class) ดังนั้นแทนที่การใช้ชุดของฟังก์ชัน  แต่สามารถใช้เมธอดและตัวแปรกับข้อมูลโดยตรง ดูเพิ่มเติมบทที่ 7 Object Oriented  Programming         การเข้าถึงตัวแปรหรือเมธอดบนอ๊อบเจค  ใช้ -> operator ใน PHP ถ้ามี Rectangular  class อ่านค่าความกว้าง (width) ความยาว (length)  และเมธอดคำนวณพื้นที่ คำสั่งสามารถเขียนได้ดังนี้ <?php $shape = new  Rectangular ();$shape->width  = 20;
 $shape->length  = 30;
 echo "พื้นที่สี่เหลี่ยม คือ: ".$shape->calculateArea();
 ?> Variable Expansion  ตามที่ได้กล่าวถึงข้อความ  double quoted และ heredoc ใน PHP  สามารถเก็บการอ้างอิงตัวแปรด้วยเครื่องหมาย  $ และ engine จะทราบว่าต้องทำอะไร         Variable  Expansion ใน PHP เป็นส่วนการทำงานความสามารถสูงที่ให้ด้านความเร็วและการผสมเนื้อหากับโปรแกรม  มี 2 วิธีในการใช้ส่วนการทำงานนี้คือ แบบง่ายและแบบซับซ้อน แบบแรกสำหรับการตัวแปร  ค่า array หรือคุณสมบัติอ๊อบเจค  ขณะที่แบบหลังสำหรับส่วนขยายแม่นยำมากกว่าตัวอย่างแบบง่าย
 
 <?php
 $type = "simple";echo "นี่เป็นตัวอย่างของส่วนขยาย '$type' ";
 $type = array("แบบง่าย", "แบบซับซ้อน");
 
        echo<<<THE_ENDเช่นกัน  นี่เป็นตัวอย่างของส่วนขยาย array '$type[0]'
 THE_END; ?>   เมื่อ PHP  processor เห็น $ ในข้อความ double  quoted หรือ heredoc  จะอ่านตัวอักษรทั้งหมดจนสิ้นสุดชื่อตัวแปร, ดัชนีของ array หรือคุณสมบัติอ๊อบเจค  จากนั้นจะประเมินผลลัพธ์และวางค่าในข้อความผลลัพธ์         ตามตัวอย่าง  ถ้าไม่ใส่ single quoted () ล้อมตัวแปร $type ไว้ PHP จะแสดงผลลัพธ์เป็นความผิดพลาด         การแก้ปัญหานี้สามารถใช้ส่วนขยายตัวแปรแบบซับซ้อน  การใช้ให้หุ้มส่วนขยายด้วยวงเล็บปีก { } ในคำสั่ง PHP  processor มองหาวงเล็บปีกกาทันทีต่อจาก $  ที่ระบุแหล่งส่วนขยายตัวแปร กรณีอื่นแสดงผลวงเล็บปีกและสิ่งที่ติดตามมา
 <?php
 
        $hour  = 16;$kilometres = 4;
 $content  = "ลูกอม";
 echo  "   4pm ในเวลา  24 ชั่วโมง คือ  {$hour}00 นาฬิกา<br/>\n"; echo  <<<MSGระยะทาง {$kilometres}000 เมตร เท่ากับ  {$kilometres} กม.<br/>
 กระปุกอยู่ที่นี่ และเต็มไปด้วย${content}<br/>
         MSG; ?> ถ้าต้องการมีตัวอักษร {$ ในผลลัพธ์  จะต้อง escape เป็น {\$ 
 |