อ๋อครับผมลงใช้ !empty มันก็ใช้ได้น่ะครับ : )
โอเคครับ ผมใช้ isset ต่อไป

แล้วผมจะต้องใช้ !empty หรือ isset ในโอกาสไหนดีครับ

อยู่ที่ประสบการณ์ของแต่ละคนครับ เจอเคสมามากแค่ไหน เห็นปัญหาจากแต่ละเคสมาแค่ไหน
ในมิติตื้นๆ การท่องจำ ตามที่เค้าเขียนๆมากัน มันก็อาจจะเห็นปัญหาของการใช้งานไม่ครบถ้วน...
บางเหตุการณ์ มันมี ตัวแปรอื่นๆที่จะบอกเราจะสอนเราว่าเราควรจะใช้อะไร... ในสถานการร์แบบไหน
แต่เพื้นฐานราก็จะต้องรู้ก่อนว่า แต่ละอันเบื้องหลังมันทำงานยังไง .... โดยวิธีที่ จขกท. เขียน ผมก็ใช้แนวนี้เป็นตัวดักการ เช็ค $_POST เวลาผม HardCode แล้ว โยนค่าเข้าไฟล์ตัวเองผมก็จะใช้วิธินี้ครับ
แต่ปัญหาคือ เมื่อ up ขึ้น Production บางเคสเจอประเด็นที่ว่าการใช้ isset กับตัวแปล $_POST ในลักษณะการกำหนด key(แบบของ จขกท.) จะส่งผลให้เกิด Notice warning ขึ้นมา
ดังนั้นการใช้ !empty จึงสามารถป้องกัน case นี้ได้
ประสบการณ์ตรงนี้เลยบอกว่าผม ในเมื่อมันใช้ได้ เหมือนกัน แต่ไม่ส่งผลอะไรกับความเร็วของ php เลย การใช้ตัวที่ Safety ที่สุดในจุดประสงค์ของ code เราที่สุดก็น่าจะโอเครกว่าการใช้ isset แล้วต้องมาระแวงว่า Production Server นี้มันจะเกิด Notice มั้ยว้าาา... (มีผลมาจาก php.ini รวมถึง version ของ php การปิด error และ การ control ไฟล์นี้ หลายๆที่ Production Server เราเองไม่มีสิทจะเข้าไปกำกับตรงนี้ได้ทั้งหมด)
ยังไงการใช้ isset หรือ !empty ไม่ส่งผลอะไรกับความเร็วที่ควรจะสนใจเลยครับ มันเล็กน้อย หยุมหยิมมากๆ มีเรื่องอื่นที่ใหญ่กว่านี้ ควรจะกังวลกว่าอีกเยอะครับ
แต่การใช้ววิธีแบบนี้ผมก็ใช้สำหรับการเขียนไฟล์เดียวสั้นๆ เวลา HardCode ไรงี้มันง่ายและเร็ว ผมเลยชอบการใช้วิธีแบบนี้ ^^
แต่เดี๋ยวนี้ ถ้า app เล็กๆ ไม่กี่หน้าผมก็เลือกใช้ slim framework + eloquent ORM เอา
App ใหญ่ๆก็ใช้ Laravel
ก็จะไม่เจอ case แนวนี้และ เพราะใช้ ความสามารถของ famework แต่ละตัวไป
แล้วจะ get มากขึ้นว่ามันมีเรื่องอื่นๆให้ กังวลกว่าเรื่อง isset , !empty เยอะครับ ^^
ป.ล. เรื่อง isset , !empty มันไม่ได้คนละอย่างกันแบบสุดขั้วถึงขนาดบอกว่า แบบนั้นแบบนี้ได้หรอกครับ ทำความเข้าใจ เบื้องหลังการทำงานแล้วเลือก apply ให้เข้ากับจุดประสงค์ อัลกอริธึม เราเหมาะสมที่สุดครับ ไม่ต้องซีเรียสประเด็นอะไรพวกนี้มาก มีอีกหลายๆเรื่องที่ควรกังวลมากกว่าเยอะ