หมวดหมู่: PHP

PHP: print_r tipsPHP: print_r tips

การใช้คำสั่ง print_r ($values) เป็นเทคนิคพื้นฐานที่โปรแกรมเมอร์ PHP ทุกคนควรทราบ เพราะมันคือวิธีที่ง่ายและเร็วที่สุดในการ “ส่อง” ดูโครงสร้างของตัวแปรประเภท Array หรือ Object ครับ


ทำไมต้องเพิ่ม <pre> ?

โดยปกติแล้ว หากเราใช้ print_r ($values) ; เพียงอย่างเดียว PHP จะแสดงผลออกมาเป็นบรรทัดเดียวพืด ซึ่งอ่านยากมากในหน้า Browser การครอบด้วย Tag HTML <pre> จะช่วยรักษาการย่อหน้า และการเว้นบรรทัด ทำให้เราเห็นโครงสร้างข้อมูลที่ชัดเจน


เปรียบเทียบการแสดงผล

แบบไม่ใส่

Array 

แบบใส่

Array


วิธีการเขียนที่ถูกต้อง

ใน PHP เราสามารถเขียนได้หลายรูปแบบเพื่อให้ได้ผลลัพธ์เดียวกัน ดังนี้

  1. แบบใช้เครื่องหมาย Comma
    วิธีนี้มีประสิทธิภาพสูงเพราะ echo สามารถรับค่าหลายตัวแปรได้โดยไม่ต้องนำสตริงมาต่อกันก่อน
    หมายเหตุ: การใส่ true ในพารามิเตอร์ตัวที่สองของ print_r จะเป็นการสั่งให้คืนค่าเป็น String แทนการแสดงผลทันที
    echo '<pre>', print_r ($values, true) , '</pre>';
    
  2. แบบเขียนแยกบรรทัด
    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 ได้รวดเร็วขึ้นอย่างแน่นอนครับ!


อ่านเพิ่มเติม