พอดีได้มีโอกาสวีวิวโค้ด ขอยกตัวอย่าง ตัดโค้ดมาบางส่วน
Code: Select all
$username = $user_show_all = $like_time = '';
while ($row = $this->db->sql_fetchrow($result)) {
$user_id[] = $row['user_id'];
$user_show[$row['user_id']] = $row['username'];
$like_time[$row['user_id']] = $row['like_time'];
}
5 บรรทัดนี้ มีอะไรแปลกๆ อยู่ถึง 4 บรรทัดเลยนะ
กำหนด แบบ นี้หมายความว่า ตัวแปล $like_time เป็น string แล้ว line สุดท้ายมาบอกให้มันเป็น array ไม่ได้นะ หลายคนคิดว่ามันจะทับค่า บาง server ปรับให้แต่บาง server ไม่ปรับ และ มันเขียนผิดรูปแบบ
ควรเขียนอย่างนี้
Code: Select all
// ....
$like_time = array();
while ($row = $this->db->sql_fetchrow($result)) {
$user_id[] = $row['user_id'];
$user_show[$row['user_id']] = $row['username'];
$like_time[$row['user_id']] = $row['like_time'];
}
หรือ ถ้าจะให้ดียิ่งขึ้น เขียนอย่างนี้ หนี้ห่าง bug ได้ดีสุด
Code: Select all
$like_time = array();
while ($row = $this->db->sql_fetchrow($result)) {
$user_id = $row['user_id'];
$user_show[$user_id] = $row['username'];
$like_time[$user_id] = $row['like_time'];
}
bug error