ทำไมต้องทำความสะอาด
การทำความสะอาดที่ผมจะกล่าวถึงนั้น หมายถึงผมจะลบอะเรย์ที่มันเก็บค่าว่างทิ้ง เป็นประสบการณ์ส่วนตัวเลยอันนี้ ผมใช้คำสั่ง 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 ก็จะเก็บเฉพาะอะเรย์ที่มีค่าเท่านั้น |
boy says:
24/03/2554 at 24/03/2554
แต่ถ้าเป็น space จะยังอยู่นะ ต้อง trim เองอยู่ดี
nadkk says:
02/04/2554 at 02/04/2554
ขอบคุณคับ