เขียน PHP กับ Array แบบนี้ ระวัง Error นะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41131
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

เขียน PHP กับ Array แบบนี้ ระวัง Error นะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

พอดีได้มีโอกาสวีวิวโค้ด ขอยกตัวอย่าง ตัดโค้ดมาบางส่วน

โค้ด: เลือกทั้งหมด

               $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 ไม่ปรับ และ มันเขียนผิดรูปแบบ
ควรเขียนอย่างนี้

โค้ด: เลือกทั้งหมด

               // ....
				$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 ได้ดีสุด

โค้ด: เลือกทั้งหมด

				$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
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 57