A-AA+then

ผมได้เสนอเทคนิคการใช้งานแอเรย์มา 3 ตอนแล้ว ในตอนนี้ผมจะนำเสนอคำถามจากบอร์ดถึงการแทนที่ข้อความที่กำหนดด้วยข้อความอื่นโดยใช้แอเรย์

ผมยกตัวอย่างโจทย์ง่ายๆเช่นการแสดงสถานะสมาชิก เช่น การแบ่งสมาชิกออกเป็น 3 ระดับ

สถานะ 0 คือ สมาชิกทั่วไป
สถานะ 1 คือ ผู้ช่วยแอดมิน
สถานะ 2 คือ แอดมิน

โจทย์แบบนี้หลายๆคนคงคิดถึงการใช้ if นะครับ แต่เชื่อผมเหอะ แอเรย์ง่ายกว่าเยอะ

โดยปกติ เมื่อเราอ่านข้อมูลจากฐานข้อมูล เราจะเก็บข้อมูลสถานะ เป็นตัวเลข คือ 0, 1 หรือ 2 (การเก็บข้อมูลแบบนี้มีประโยชน์ในภายหลังหลายอย่าง เช่น เราอาจกำหนดให้สถานะตัวเลขสูงสุดมีความสำคัญสูงสุดได้ง่ายๆ หรือ การเปลี่ยนแปลงข้อความของสถานะทำได้ง่ายๆ เนื่องจากมันเป็นคนละรายการกับตัวเลข) เวลาแสดงผลก็ใช้แบบนี้เลยครับ
<?php
 // ใช้แอเรย์เก็บข้อมูล หากต้องการเปลี่ยนแปลงชนิดของของมูลก้แก้ไขที่ข้อมูลของแอเรย์เท่านั้น
  $status = array();
  $status[0] = 'สมาชิกทั่วไป';
  $status[1] = 'ผู้ช่วยแอดมิน';
  $status[2] = 'แอดมิน';
 // ทดสอบ
  $memberstatus = 1;// สถานะอาจอ่านมาจากฐานข้อมูลก็ได้
  echo "สถานะของสมาชิกท่านนี้ คือ ".$status[$memberstatus];
?>

ในตอนแรกๆ เราอาจไม่ค่อยเข้าใจเทคนิคง่ายๆ แบบนี้นะครับ แต่ขอให้พยายามเทียบเคียงดูจะพบว่าบางครั้งเราอาจแทบไม่ต้องใช้ if หรือ case ที่ยาวๆเลย และยังสามารถแก้ไขได้ง่ายอีกด้วย

Relate

^