array_replace_recursive () 

array_replace_recursive () เป็นฟังก์ชั่นใน PHP inbuilt ใช้ในการแทนที่ค่าของอาร์เรย์แรกที่มีค่าจากอาร์เรย์ซ้ำต่อไป จะทำการแทนที่ด้านล่างนี้:

  • หากคีย์จากอาร์เรย์แรกมีอยู่ในอาร์เรย์ที่สองดังนั้นค่าที่สอดคล้องกับคีย์นั้นของอาร์เรย์แรกจะถูกแทนที่ด้วยค่าของอาร์เรย์ที่สอง
  • หากคีย์มีอยู่ในอาเรย์ที่สอง แต่ไม่ได้อยู่ในอาเรย์แรกมันจะถูกสร้างขึ้นในอาเรย์แรก
  • หากคีย์มีอยู่ในอาเรย์แรกเท่านั้นมันจะถูกทิ้งไว้ตามที่เป็นอยู่
  • หากมีหลายอาร์เรย์ถูกส่งผ่านเพื่อแทนที่พวกเขาจะถูกประมวลผลตามลำดับอาร์เรย์ในภายหลังจะเขียนทับค่าก่อนหน้า

รูปแบบ Syntax ดังนี้ 

array_replace_recursive ($ array1, $ array2, $ array3 ... )

พารามิเตอร์:ฟังก์ชั่นนี้รับ list ของอาร์เรย์เป็นพารามิเตอร์ที่พารามิเตอร์แรกเป็นหลักและจำเป็นและส่วนที่เหลือเป็นตัวเลือก

Return Value : ส่งคืนอาเรย์ที่ถูกปรับเปลี่ยนหรือ NULL ถ้ามีข้อผิดพลาดเกิดขึ้น

 

ตัวอย่างโค้ดดังนี้

<?php 

// PHP program to illustrate array_replace_recursive() 
// function 

$array1 = array( "a" => array("red"), 
			"b" => array("green", "blue")); 
$array2=array( "a" => array("yellow"), 
					"b" => array("black")); 
$array3=array("a" => array("orange"), 
				"b" => array("burgundy")); 

print_r(array_replace_recursive($array1, $array2, $array3)); 

?> 

ผลลัพธ์ที่ได้

Array
(
    [a] => Array
        (
            [0] => orange
        )

    [b] => Array
        (
            [0] => burgundy
            [1] => blue
        )

)

จากตัวอย่างเราได้ใช้ฟังก์ชัน print_r() เพื่อแสดงข้อมูลใน array จะเห็นว่า ค่าของตัวแรกแต่ละคีย์ถูกเปลี่ยน โดยจะกลายเป็น อาเรย์ลำดับสุดที่มีอยู่ในฟังก์ชัน ส่วน ค่าอาเรย์บ[1] ในคีย์ของ [b] นั้น ยังเป็น blue เหมือนเดิมเนื่องจากว่า ในฟังก์ชันไม่มีอาเรย์ตัวไหนทีจะมาเขียนทับ เพราะอยู่ในตำแหน่งที่[1] แต่อาเรย์ที่มาใหม่นั้นตำแหน่งที่[0]ทั้งนั้นครับ หวังจะเข้าใจน่ะครับ 

 

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
SQL JOIN: การรวมข้อมูลจากหลายตารางในฐานข้อมูล
โดย witsarutt000 พฤ 14 มี.ค. 2024 4:07 pm บอร์ด SQL Knowledge
1
166
พฤ 14 มี.ค. 2024 5:44 pm โดย Sirayu View Topic SQL JOIN: การรวมข้อมูลจากหลายตารางในฐานข้อมูล
PHP การเปลี่ยนแปลงที่สร้างปรากฏการณ์ในโลกของเว็บ
โดย witsarutt000 พฤ 14 มี.ค. 2024 11:17 am บอร์ด PHP Knowledge
0
125
พฤ 14 มี.ค. 2024 11:17 am โดย witsarutt000 View Topic PHP การเปลี่ยนแปลงที่สร้างปรากฏการณ์ในโลกของเว็บ
ปัญหา Harddisk ขึ้น 100% เวลาเซฟไฟล์ หรือภาพ จะค้่างที่หน้าแท๊บ Expolorer
โดย Thanavat_n พ 13 มี.ค. 2024 11:02 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
270
พ 13 มี.ค. 2024 1:34 pm โดย Thanavat_n View Topic ปัญหา Harddisk ขึ้น 100% เวลาเซฟไฟล์ หรือภาพ จะค้่างที่หน้าแท๊บ Expolorer
ตู้รองเท้า ไอเท็มวิเศษช่วยจัดระเบียบคอลเลกชันรองเท้าคู่โปรด
โดย @Foretoday อ 12 มี.ค. 2024 1:46 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
184
อ 12 มี.ค. 2024 1:46 pm โดย @Foretoday View Topic ตู้รองเท้า ไอเท็มวิเศษช่วยจัดระเบียบคอลเลกชันรองเท้าคู่โปรด
แนะนำสถานที่น่าเที่ยวในจังหวัดชุมพรพร้อมวิธีการเดินทาง
โดย witsarutt000 จ 11 มี.ค. 2024 6:14 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
142
จ 11 มี.ค. 2024 6:14 pm โดย witsarutt000 View Topic แนะนำสถานที่น่าเที่ยวในจังหวัดชุมพรพร้อมวิธีการเดินทาง
ย้าย VM ข้าม Host ด้วย scp กรณีศึกษา Vmware ESXI
โดย mindphp อ 10 มี.ค. 2024 4:36 am บอร์ด Linux - Web Server
0
239
อ 10 มี.ค. 2024 4:36 am โดย mindphp View Topic ย้าย VM ข้าม Host ด้วย scp กรณีศึกษา Vmware ESXI
IP และ vpn (VMware)
โดย ballmykids อ 10 มี.ค. 2024 2:35 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
203
จ 11 มี.ค. 2024 3:19 pm โดย ballmykids View Topic IP และ vpn (VMware)
แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว
โดย Anonymous ศ 08 มี.ค. 2024 7:02 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
166
ศ 08 มี.ค. 2024 8:12 pm โดย mindphp View Topic แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว