ทำไมต้องทำความสะอาด

การทำความสะอาดที่ผมจะกล่าวถึงนั้น หมายถึงผมจะลบอะเรย์ที่มันเก็บค่าว่างทิ้ง เป็นประสบการณ์ส่วนตัวเลยอันนี้ ผมใช้คำสั่ง explode() แตกข้อความให้ออกมาเป็นอะเรย์ แล้วในนั้นมันมีอะเรย์บางตัวที่เก็บค่าว่าง

อยากจะลบมันทิ้งให้หมด เอาเฉพาะเนื้อๆ เมื่อก่อนเคยใช้วิธีเขียนโค้ดวนลูปเช็กไปทีละตัว คัดออกทีละตัว ก็เป็นวิธีที่ใช้ได้นะ แต่ตอนหลังเจอวิธีที่ง่ายและสะดวกกว่า

// สมมติอะเรย์
$arr_items = array( '' , 'orange' , '' , 'mango' ) ;
$arr_results = array_filter( $arr_items );
 
// ตัวแปร $arr_results จะเก็บเฉพาะอะเรย์ที่มีค่าเท่านั้น

อันที่จริงคำสั่ง array_filter() เป็นคำสั่งที่ใช้สำหรับกรองอะเรย์โดยเราจะต้องเขียนเงื่อนไขการกรองเอง แต่ถ้าเราไม่ส่งพารามิเตอร์ตัวที่สอง ซึ่งเป็นเงื่อนไขในการกรองเข้าไป มันจะกรองเอาอะเรย์ที่เก็บค่่าว่างๆทิ้งทั้งหมด

อ่านวิธีใช้งานคำสั่ง array_filter() เพิ่มเติม

ทีนี้ลองดูวิธีเก่าที่ผมเคยใช้นะครับ

// สมมติอะเรย์
$arr_items = array( '' , 'orange' , '' , 'mango' ) ;
$arr_results = array();
 
foreach( $arr_items as $key=>$val )
{
  if( !$val )
  {
    $arr_results[] = $val ;
  }
}
 
// ตัวแปร $arr_results ก็จะเก็บเฉพาะอะเรย์ที่มีค่าเท่านั้น