ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

array_filter() 

ใน php ยังมีฟังก์ชันมากมายให้เราได้ศึกษากันและนำไปใช้กับงานของเรา ฟังก์ชันที่เกี่ยวข้องกับการกรอง filter มีหลากหลาย เช่น stream_filter_register() และ  imagefilter()  ในบทความนี้เราจะมาเรียนรู้เรื่องฟังก์ชัน array_filter น่ะครับ ฟังก์ชันนี้อาจจะมีฟังก์ชันอื่นมาเกี่ยวข้องทำงานร่วมกัน เพื่อกำหนด ฟังก์ชัน callback ให้มันสามารถทำงานได้

array_filter - กรององค์ประกอบ (Elements )ของอาร์เรย์โดยใช้ฟังก์ชั่น callback  ในการวนซ้ำ(Iterates) ทุกๆค่าใน Array จะส่งไปยังฟังก์ชัน callback หากฟังก์ชัน callback ส่งคืนค่าเป็นจริง(true)  ค่าปัจจุบันใน array ก็จะถูกส่งกลับไปยังผลลัพธ์อาร์เรย์ และคีย์ของอาร์เรย์จะถูกเก็บรักษาไว้ 

รูปแบบ Syntex 

array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array

ตัวอย่างโค้ดการใช้งาน

<?php
function odd($var)
{
    // returns whether the input integer is odd
    return($var & 1);
}

function even($var)
{
    // returns whether the input integer is even
    return(!($var & 1));
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>

ตัวอย่างโค้ดด้านบนจะแสดงผลลัพธ์ดังนี้

Odd :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Even:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

จากผลลัพธ์ จะเห็นได้ว่า ฟังก์ชัน นี้ จะทำการกรองตาม callback ที่เรากำหนดไว้ ในที่นี้จะทำกรองหา element ใน array ว่าตัวไหนคือ odd (เลขคี่) และ Even(เลขคู่)น่ะครับ เมื่อทำการกรองเสร็จแล้ว ก็จะส่งค่าที่กรองได้คืนมาและทำการเป็นในลำดับต่อไป  ในส่วนของฟังก์ชัน callback เราสามารถกำหนดฟังก์ชันอะไรก็ได้ที่เราต้องการจะกรอง หวังว่าบทความนี้จะเป็นประโยชน์และสามารถนำไปประยุกต์ได้น่ะครับ 

 

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ฟังก์ชัน PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Celeb net worth?
โดย Bailey99 ศ 05 มิ.ย. 2020 7:03 pm บอร์ด PHP Knowledge
1
78
ศ 05 มิ.ย. 2020 7:28 pm โดย rajneeskumar
วิธีการ ใช้งาน vuetify คู่กับ vue.js
โดย bolue ศ 05 มิ.ย. 2020 6:02 pm บอร์ด CSS Knowledge
0
44
ศ 05 มิ.ย. 2020 6:02 pm โดย bolue
วิธีการ ติดตั้ง vue.js สำหรับผู้เริ่มต้น หัดเขียน สอนติดตั้ง
โดย bolue ศ 05 มิ.ย. 2020 4:55 pm บอร์ด Jquery & Ajax Knowledge
0
108
ศ 05 มิ.ย. 2020 4:55 pm โดย bolue
วิธีการ ใช้ Grid ออกแบบเป็น responsive design โดย vuetify
โดย bolue ศ 05 มิ.ย. 2020 3:36 pm บอร์ด CSS Knowledge
0
77
ศ 05 มิ.ย. 2020 3:36 pm โดย bolue
วิธีการ เรียนใช้ dialog จาก components โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 1:45 pm บอร์ด Jquery & Ajax Knowledge
0
68
ศ 05 มิ.ย. 2020 1:45 pm โดย bolue
วิธีการ การเรียกใช้ methods โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 1:17 pm บอร์ด Jquery & Ajax Knowledge
0
36
ศ 05 มิ.ย. 2020 1:17 pm โดย bolue
วิธีการ ค้นหาด้วยการใช้ watch โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 12:45 pm บอร์ด Jquery & Ajax Knowledge
0
32
ศ 05 มิ.ย. 2020 12:45 pm โดย bolue
วิธีการ แสดงผลข้อมูล จากน้อยไปมาก มากไปน้อย โดย Python
โดย bolue ศ 05 มิ.ย. 2020 11:56 am บอร์ด Python Knowledge
0
37
ศ 05 มิ.ย. 2020 11:56 am โดย bolue
วิธีการ ค้นหาแบบช่วงวันที่ โดย Python
โดย bolue ศ 05 มิ.ย. 2020 11:25 am บอร์ด Python Knowledge
0
42
ศ 05 มิ.ย. 2020 11:25 am โดย bolue
กองทุนประกันสังคม มีผู้ประกันตนกี่ประเภท ??
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 5:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
38
พฤ 04 มิ.ย. 2020 5:53 pm โดย natthanit.r2538
วิธีการ ลงเวลา โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 4:09 pm บอร์ด Python Knowledge
0
72
พฤ 04 มิ.ย. 2020 4:09 pm โดย bolue
การยื่นแบบ ภ.ง.ด. 53 ออนไลน์ สอนวิธีการยื่นแบบออนไล์ ทำได้ด้วยตัวเอง
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 3:51 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
67
พฤ 04 มิ.ย. 2020 4:16 pm โดย natthanit.r2538
วิธีการ โชว์ข้อมูลด้วยการ Format วันที่ โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 3:38 pm บอร์ด Python Knowledge
0
65
พฤ 04 มิ.ย. 2020 3:38 pm โดย bolue
การยื่นแบบ ภ.ง.ด. 3 ออนไลน์ สรุปขั้นตอนยื่นแบบภาษี ออนไลน์
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 2:54 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
53
พฤ 04 มิ.ย. 2020 3:08 pm โดย natthanit.r2538
วิธีการเดินทางจาก ปทุมธานี มา กรุงเทพฯ
โดย bolue พฤ 04 มิ.ย. 2020 1:59 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
41
พฤ 04 มิ.ย. 2020 1:59 pm โดย bolue
วิธีการ Search database แบบพื้นฐานๆ โดย Python
โดย bolue พฤ 04 มิ.ย. 2020 1:55 pm บอร์ด Python Knowledge
0
73
พฤ 04 มิ.ย. 2020 1:55 pm โดย bolue
การยื่นแบบ ภ.ง.ด.1 ออนไลน์ ขั้นตอนการยืนแบบออนไลน์
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 12:35 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
2
59
พฤ 04 มิ.ย. 2020 1:40 pm โดย natthanit.r2538
สอบถามเรื่องการแนบรูปในกระทู้ค่ะ
โดย natthanit.r2538 พฤ 04 มิ.ย. 2020 12:34 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
66
พฤ 04 มิ.ย. 2020 2:31 pm โดย natthanit.r2538
B - ยังขาดหน้าผลการค้นหา จาก search.php
โดย mindphp ศ 29 พฤษภาคม 2020 6:11 am บอร์ด FDD (Main)
0
1
ศ 29 พฤษภาคม 2020 6:11 am โดย mindphp
B - กล่องค้นหาจากหน้า index ใช้งานไม่ได้ กดแล้วไม่ไปหน้าค้นหา
โดย mindphp ศ 29 พฤษภาคม 2020 5:39 am บอร์ด FDD (Main)
1
1
ศ 29 พฤษภาคม 2020 5:53 am โดย mindphp