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

array_diff_key()

ใน php เราจะพบว่า ฟังก์ชันที่มีชื่นขึ้นต้นด้วย array นั้นมา่กมายเหลือเกินใช่ไหมครับ ซึ่งแน่นอนแต่ละฟังก์ชันจะมีการทำงานที่เฉพาะเจาจงหรือแตกต่างกันไป ซึ่งนักพัฒนาต้องรู้ว่าจะเอาไปใช้ทำอะำรและควรใช้ฟังก์ชันตัวไหน  สำหรับบทความนี้เราจะพูดถึงฟังก์ชันที่มีชื่อว่า array_diff_key()

ฟังก์ชัน array_diff_key() เป็นฟังก์ชันหา Elements  ที่ key ต่างกันโดยใช้ Array  แรกเป็นหลัก   หรือ ประมวลหาความแตกต่างของอาร์เรย์โดยใช้ key ในการเปรียบเทียบ  เช่น เปรียบเทียบคีย์จาก array1 กับคีย์จาก array2 และคืนความแตกต่าง ฟังก์ชั่นนี้คล้ายกับ array_diff()  ยกเว้นการเปรียบเทียบจะทำบนคีย์แทนค่า

รูแปบบ syntex 

array_diff_key ( array $array1 , array $array2 [, array $... ] ) : array

array1   อาร์เรย์ที่จะเปรียบเทียบ

array2   อาร์เรย์ที่ถูกเปรียบเทียบ

 

 

 

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

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","c"=>"blue","d"=>"pink");

$result=array_diff_key($a1,$a2);
print_r($result);
?>

ผลลัพธที่ได้จากตัวอย่างนี้

Array ( [b] => green )

จะเห็นว่าฟังก์ชัน array_diff_key() จะเลือก element จาก array แรก ที่ไม่ซ้ำ key กับ array ที่ 2 นั้นก็คือ [b] => green 

ตัวอย่างถัดไป

<?php
$array1 = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4);
$array2 = array('a' => 5, 'b' => 6, 'e' => 7, 'r' => 8);

$result=array_diff_key($array1, $array2);
print_r($result);
?>

และผลลัพธ์

Array ( [c] => 3 [d] => 4 ) 

จากโค้ดตัวอย่างจะเห็นว่า มี element บางตัวในทั้งสอง array นี้แตกต่างกัน นั้นคือ  'c' => 3, 'd' => 4, 'e' => 7, 'r' => 8 แต่ฟังก์ชันนี้จะเลือกเฉพาะอาเรย์แรกเท่านั้น นั้นคือ $array1  ซึ่งมี elementที่แตกจากอาเรย์อีกอันนั้นคือ 'c' => 3, 'd' => 4  ฟังก์ชันนี้มีประโยชน์ถ้าหากเรารู้จักนำไปประยุกต์ใช้น่ะครับ  สามารถตรวจสอบหรือนำไปเป็นเทียบได้ว่าได้ว่า array ทั้งสองตัวนี้ มีอะไรหรือelementไหนที่แตกต่างกัน โดยที่เราไม่จำเป็นต้องมานั้นตรวจสอบด้วยตาเปล่า ที่ต้องนั่งมองหาแต่ละตัวน่ะครับ 

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Standards of Baccarat
โดย chanoudom ส 21 ก.ย. 2019 1:47 am บอร์ด Share Knowledge
0
6
ส 21 ก.ย. 2019 1:47 am โดย chanoudom
การบันทึกบัญชี รับเงินมัดจำในเดือนกับข้ามเดือน บันทึกยังไง แตกต่างกันมั้ยค่ะ
โดย thatsawan ศ 20 ก.ย. 2019 8:08 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
6
ศ 20 ก.ย. 2019 8:08 pm โดย thatsawan
ทำความรู้จัก Cloud
โดย aninthana ศ 20 ก.ย. 2019 8:01 pm บอร์ด Linux - Web Server
0
5
ศ 20 ก.ย. 2019 8:01 pm โดย aninthana
เปรียบเทียบ smart watch รุ่นต่างๆ จากหลายๆค่าย รุ่นไหนโดน รุ่นไหนดี มารับชมกันได้เลย
โดย chatee supasand ศ 20 ก.ย. 2019 5:41 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
ศ 20 ก.ย. 2019 5:41 pm โดย chatee supasand
วิธีสมัครและใช้งาน api อัตราแลกเปลี่ยนเงินตรา จาก ธนาคารแห่งประเทศไทย ด้วย php
โดย birdkritsna ศ 20 ก.ย. 2019 4:14 pm บอร์ด Programming - PHP
0
13
ศ 20 ก.ย. 2019 4:14 pm โดย birdkritsna
จะทำ path way เป็นลูกศรชีต้องทำยังไงครับ
โดย jamepiyawat ศ 20 ก.ย. 2019 3:50 pm บอร์ด HTML CSS
0
10
ศ 20 ก.ย. 2019 3:50 pm โดย jamepiyawat
อยากทราบวิธีที่จะทำให้เมือเรากดปุ่มซื้อสินค้าแล้วจะมีหน้า pop เด้งขึ้นมาครับ
โดย jamepiyawat ศ 20 ก.ย. 2019 3:30 pm บอร์ด HTML CSS
0
8
ศ 20 ก.ย. 2019 3:30 pm โดย jamepiyawat
อยากทราบวิธีทำปุ่มกดสลับค่าระหว่าง list box ครับ
โดย birdkritsna ศ 20 ก.ย. 2019 2:59 pm บอร์ด Programming - PHP
4
30
ศ 20 ก.ย. 2019 4:10 pm โดย mindphp
ระดับ User นี้มีข้อจำกัดอะไรบ้างครับ
โดย Patipat ศ 20 ก.ย. 2019 2:45 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
16
ศ 20 ก.ย. 2019 2:50 pm โดย tsukasaz
ทำไมโค้ดของผมแสดงผลชื่อจังหวัดชื่ออำเภอผิดครับ
โดย jamepiyawat ศ 20 ก.ย. 2019 2:20 pm บอร์ด JavaScript & Jquery Ajax
8
32
ศ 20 ก.ย. 2019 3:22 pm โดย jamepiyawat
งานประจำวันที่ 20 กันยายน 2562
โดย birdkritsna ศ 20 ก.ย. 2019 9:22 am บอร์ด M094 - กฤษณะ จะโรจน์รัมย์
2
12
ศ 20 ก.ย. 2019 6:32 pm โดย birdkritsna
VDO ทดลองการเข้าใช้งาน การเข้าใช้งาน ในการสร้าง เว็บไซต์ พร้อม โดเมน
โดย aninthana ศ 20 ก.ย. 2019 10:27 am บอร์ด M092 - อนินธนา บุญยัง
2
9
ศ 20 ก.ย. 2019 11:57 am โดย aninthana
VDO สอนการทำให้เว็บเข้าใช้งานด้วย https บน DA
โดย aninthana ศ 20 ก.ย. 2019 10:16 am บอร์ด M092 - อนินธนา บุญยัง
1
9
ศ 20 ก.ย. 2019 11:32 am โดย thatsawan
งานประจำวันที่ 20 กันยายน 2562
โดย chatee supasand ศ 20 ก.ย. 2019 9:53 am บอร์ด MT33 - นายชาตรี สุภาแสน
2
13
ศ 20 ก.ย. 2019 7:32 pm โดย chatee supasand
งานประจำวันที่ 20 กันยายน 2562
โดย aninthana ศ 20 ก.ย. 2019 9:45 am บอร์ด M092 - อนินธนา บุญยัง
0
4
ศ 20 ก.ย. 2019 9:45 am โดย aninthana
งานประจำวันที่ 20 กันยายน 2562
โดย aninthana ศ 20 ก.ย. 2019 9:43 am บอร์ด M092 - อนินธนา บุญยัง
5
38
ศ 20 ก.ย. 2019 6:49 pm โดย aninthana
งานประจำวันที่ 20 กันยายน 2562
โดย Patipat ศ 20 ก.ย. 2019 9:38 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
4
ศ 20 ก.ย. 2019 6:49 pm โดย Patipat
งานประจำวันที่ 20 กันยายน 2562
โดย jamepiyawat ศ 20 ก.ย. 2019 9:10 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
2
9
ศ 20 ก.ย. 2019 6:57 pm โดย jamepiyawat
งานประจำวันที่ 20 กันยายน 2562
โดย jirawoot ศ 20 ก.ย. 2019 9:06 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
3
ศ 20 ก.ย. 2019 7:09 pm โดย jirawoot
ทำความรู้จักกับ Google Lighthouse ตรวจสอบคุณภาพเว็บไซต์
โดย birdkritsna พฤ 19 ก.ย. 2019 6:37 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
19
พฤ 19 ก.ย. 2019 6:37 pm โดย birdkritsna