ฟังก์ชันที่มีประโยชน์
PHP มีฟังก์ชันภายในที่ทำงานกับข้อความและการแสดงผล ในเบื้องต้นจะแนะนำบางฟังก์ชันที่มีประโยชน์
nl2br
ถ้าสังเกตให้ดีจะพบว่าข้อความที่มีการเว้นบรรทัดนั้น เมื่อแสดงผลด้วย HTML จะไม่ขึ้นบรรทัดใหม่ใน browser ของผู้ใช้ เนื่องจากการตัด whitespace ดังนั้นการแสดงผลให้เว้นบรรทัด ให้เรียกฟังก์ชัน nl2br() ที่จะแปลงตัวอักษรบรรทัดใหม่ให้เป็น </br> tag ตามสคริปต์นี้
<?php
$stringval =<<<NLSTRING
นี่เป็นตัวอย่างข้อความที่
ประกอบด้วยการขึ้นบรรทัดใหม่
และต้องการดูผลลัพธ์
ให้เหมือนกับข้อความต้นทางนี้
NLSTRING;
<?php
$stringval =<<<NLSTRING
นี่เป็นตัวอย่างข้อความที่
ประกอบด้วยการขึ้นบรรทัดใหม่
และต้องการดูผลลัพธ์
ให้เหมือนกับข้อความต้นทางนี้
NLSTRING;
echo nl2br($stringval);
?>
ผลลัพธ์คือ
นี่เป็นตัวอย่างข้อความที่
ประกอบด้วยการขึ้นบรรทัดใหม่
และต้องการดูผลลัพธ์
ให้เหมือนกับข้อความต้นทางนี้
ประกอบด้วยการขึ้นบรรทัดใหม่
และต้องการดูผลลัพธ์
ให้เหมือนกับข้อความต้นทางนี้
var_dump
มีบ่อยครั้งที่อาจจะมีการทดลองหรือเขียนโปรแกรม และมีความต้องการดูเนื้อหา รวมทั้งธรรมชาติแบบไดนามิคส์และไม่มีการประกาศประเภทข้อมูลให้ตัวแปรอย่างชัดเจน หมายความว่าจะไม่ทราบประเภทข้อมูลปัจจุบันที่แน่นอน ฟังก์ชัน var_dump แสดงประเภทและค่าของตัวแปรในผลลัพธ์ สำหรับข้อความ var_dump ให้จำนวนตัวอักษรในข้อความ
<?php
$floatval = 123e-456;
$intvar = 123456;
$stringval = "Hello world";
var_dump($floatval); echo "<br/>\n";
var_dump($intvar); echo "<br/>\n";
var_dump($stringval); echo "<br/>\n";
<?php
$floatval = 123e-456;
$intvar = 123456;
$stringval = "Hello world";
var_dump($floatval); echo "<br/>\n";
var_dump($intvar); echo "<br/>\n";
var_dump($stringval); echo "<br/>\n";
?>
ผลลัพธ์จากคำสั่งข้างบนคือ
float(0)
int(123456)
string(10) “Hello world”
float(0)
int(123456)
string(10) “Hello world”
print_r
ฟังก์ชัน print_r คล้ายกับ var_dump แต่สร้างผลลัพธ์ที่อ่านได้ง่าย print_r ให้มีการเพิ่มค่าตัวเลือก(เรียกว่า พารามิเตอร์) ที่บอกให้ฟังก์ชันนี้ส่งออกผลลัพธ์เป็นข้อความแทนที่การส่งผลลัพธ์ออกไป
<?php
$stringval = "เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต";
print_r ($stringval); echo "<br/>\n";
$result = print_r ($stringval, TRUE);
echo $result;
?>
<?php
$stringval = "เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต";
print_r ($stringval); echo "<br/>\n";
$result = print_r ($stringval, TRUE);
echo $result;
?>
ผลลัพธ์จากคำสั่งข้างบนคือ
เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต
เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต
เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต
เรายินดีให้บริการสินค้าหัตถกรรมฝีมือปราณีต
var_export
ฟังก์ชันแสดงผลสุดท้ายคือ ฟังก์ชัน var_export ที่คล้ายกับ var_dump มาก ยกเว้นผลลัพธ์ได้รับการนำเสนอค่าของข้อมูลแบบคำสั่ง PHP
<?php
$arr = array(1, 2, 3, 4);
var_export($arr);
?>
<?php
$arr = array(1, 2, 3, 4);
var_export($arr);
?>
ผลลัพธ์จากคำสั่งข้างบนคือ
array( 0 => 1, 1 => 2, 2 => 3, 3 => 4)
array( 0 => 1, 1 => 2, 2 => 3, 3 => 4)
Quoted
ในการเขียนคำสั่งข้อความโดยเฉพาะคำสั่ง echo การใช้ quoted จะสร้างความสับสนให้กับตัวกระจาย PHP ได้ เช่น
echo "<td width="15%">";
echo "<td width="15%">";
คำสั่งนี้สร้างความผิดพลาด ดังนั้นต้องใช้ quoted ต่างกัน
echo "<td width='15%'>";
echo "<td width='15%'>";
หรือ
echo '<td width="15%">';
echo '<td width="15%">';
ในการเขียนประโยคคำสั่งคิวรี่ การใช้ quoted ภายในประโยคคำสั่งจะทำตัวกระจาย MySQL เกิดความสับสน
INSERT INTO message VALUES("การสัมนาเรื่อง "การดูแลสุขภาพ" เริ่มเวลา 16.00 ");
INSERT INTO message VALUES("การสัมนาเรื่อง "การดูแลสุขภาพ" เริ่มเวลา 16.00 ");
การคำสั่งต้องใช้ slash (\) กับ quoted ที่ไม่ใช้ส่วนการห้อหุ้ม
INSERT INTO message VALUES("การสัมนาเรื่อง \"การดูแลสุขภาพ\" เริ่มเวลา 16.00 ");
INSERT INTO message VALUES("การสัมนาเรื่อง \"การดูแลสุขภาพ\" เริ่มเวลา 16.00 ");
ไม่มีความคิดเห็น:
แสดงความคิดเห็น