การใช้คำสั่ง print_r ($values) เป็นเทคนิคพื้นฐานที่โปรแกรมเมอร์ PHP ทุกคนควรทราบ เพราะมันคือวิธีที่ง่ายและเร็วที่สุดในการ “ส่อง” ดูโครงสร้างของตัวแปรประเภท Array หรือ Object ครับ
ทำไมต้องเพิ่ม <pre> ?
โดยปกติแล้ว หากเราใช้ print_r ($values) ; เพียงอย่างเดียว PHP จะแสดงผลออกมาเป็นบรรทัดเดียวพืด ซึ่งอ่านยากมากในหน้า Browser การครอบด้วย Tag HTML <pre> จะช่วยรักษาการย่อหน้า และการเว้นบรรทัด ทำให้เราเห็นโครงสร้างข้อมูลที่ชัดเจน
เปรียบเทียบการแสดงผล
แบบไม่ใส่
Array
แบบใส่
Array
วิธีการเขียนที่ถูกต้อง
ใน PHP เราสามารถเขียนได้หลายรูปแบบเพื่อให้ได้ผลลัพธ์เดียวกัน ดังนี้
- แบบใช้เครื่องหมาย Comma
วิธีนี้มีประสิทธิภาพสูงเพราะechoสามารถรับค่าหลายตัวแปรได้โดยไม่ต้องนำสตริงมาต่อกันก่อน
หมายเหตุ: การใส่ true ในพารามิเตอร์ตัวที่สองของ print_r จะเป็นการสั่งให้คืนค่าเป็น String แทนการแสดงผลทันทีecho '<pre>', print_r ($values, true) , '</pre>';
- แบบเขียนแยกบรรทัด
echo '<pre>'; print_r ($values) ; echo '</pre>';
เทคนิคเพิ่มเติม: สร้างเป็นฟังก์ชัน Debug
เพื่อให้ชีวิตง่ายขึ้น ไม่ต้องพิมพ์ยาวๆ ทุกครั้ง แนะนำให้สร้างฟังก์ชันส่วนตัวไว้ใช้ในโปรเจกต์ครับ
function dd ($data) {
echo '<style>
pre {
background-color: #f4f4f4;
border: 1px solid #ccc;
padding: 10px;
border-radius: 5px;
color: #333;
font-family: "Courier New", Courier, monospace;
}
</style>';
echo '<pre>';
print_r ($data) ;
echo '</pre>';
die () ; // หยุดการทำงานของ Script ทันทีหลังจาก Debug
}
// วิธีใช้งาน
$user_data = ['id' => 1, 'name' => 'Somchai', 'role' => 'Admin'];
dd ($user_data) ;
ข้อควรระวัง
- Security: ห้ามใช้คำสั่งนี้ในหน้าเว็บไซต์ที่เปิดใช้งานจริง เพราะอาจทำให้ข้อมูลโครงสร้าง Database หรือข้อมูลส่วนตัวหลุดออกไปสู่ผู้ใช้งานได้
- Alternatives: หากต้องการข้อมูลที่ละเอียดกว่านี้ แแนะนำให้ใช้คำสั่ง
var_dump ($values) ;แทนครับ
การ Debug เป็นหัวใจสำคัญของการเขียนโปรแกรม การใช้เครื่องมือง่ายๆ อย่าง print_r ร่วมกับ Tag <pre> จะช่วยให้คุณหาจุดผิดพลาดใน Code ได้รวดเร็วขึ้นอย่างแน่นอนครับ!
อ่านเพิ่มเติม