สำหรับคนที่ใช้ PHP Codeigniter Framework
อธิบายความแตกต่างของฟังก์ชัน result() และ result_array() ที่ใช้ในการ flat ข้อมูลจากการประมวลผล query ข้อมูล database
ลักษณะและรูปแบบการใช้งานของฟังก์ชัน “result()”
$query = $this->db->query(“Your QUERY”);
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
การประมวลผล query จะเป็นแบบ array of objects จะเป็นชุดของออฟเจ็คที่ถูกจัดเรียกมาเป็นอาเรย์ซึ่งจะเป็นเห็นได้จากการเรียกใช้ “$row->title” และแสดงภาพรวมได้จาก print_r($query->result())
ลักษณะและรูปแบบของฟังก์ชัน “result_array()”
$query = $this->db->query(“Your QUERY”);
foreach ($query->result_array() as $row)
{
echo $row[‘title’];
echo $row[‘name’];
echo $row[‘body’];
}
ส่วนการประมวลผล query จะเป็นแบบ pure array ซึ่งจะได้เป็นข้อมูลที่อยู่ในรูปของอาเรย์ทั้งหมด ลักษณะการใช้ก็จะเป็นแบบอาเรย์ “$row[‘title’]” ถ้าเราแสดงการแจกแจงจากคำสั่ง print_r($query->result_array()) เราก็จะเป็นการแจกที่มีลักษณะเป็นอาเรย์จัดเรียงตามข้อมูล
ซึ่งการ flat จากการประมวลผลข้อมูล query ของทั้งสองแบบ มีความแตกต่างในเรื่องของลักษณะรูปแบบการใช้งาน โดยแบบแรกมีการใช้ที่ง่ายกว่า ลดการพิมพ์เครื่องหมายได้มากกว่า เช่น เพียงแค่เรียกออฟเจ็ค $row แล้วชี้ไปยัง attribute ที่ต้องการ ประหยัดเวลาในการเขียนมากกว่ารูปแบบของ result_array แต่ถ้าเรามองถึงการประมวลผลในการ flat ข้อมูล ฟังก์ชัน result_array มีการทำงานที่เร็วกว่า ทั้งนี้อยู่ที่การใช้งานของแต่ละคนครับ