แทนที่ค่าของอาร์เรย์แรก ($a1) ซ้ำ ๆ ด้วยค่าของอาร์เรย์ที่สอง ($a2):
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"),);$a2=array("a"=>array( "สีเหลือง"),"b"=>array("สีดำ"));print_r(array_replace_recursive($a1,$a2));?>ฟังก์ชัน array_replace_recursive() จะแทนที่ค่าของอาร์เรย์แรกแบบวนซ้ำด้วยค่าของอาร์เรย์ที่ตามมา
เคล็ดลับ: คุณสามารถส่งผ่านอาร์เรย์หรือหลายอาร์เรย์ไปยังฟังก์ชันได้
หากมีคีย์อยู่ในอาร์เรย์แรก array1 และยังมีอยู่ในอาร์เรย์ที่สอง array2 ด้วย ค่าในอาร์เรย์แรก array1 จะถูกแทนที่ด้วยค่าในอาร์เรย์ที่สอง array2 หากคีย์มีอยู่ในอาร์เรย์แรก array1 เท่านั้น คีย์นั้นจะยังคงไม่เปลี่ยนแปลง หากมีคีย์อยู่ในอาร์เรย์ที่สอง array2 แต่ไม่มีอยู่ในอาร์เรย์แรก array1 องค์ประกอบจะถูกสร้างขึ้นในอาร์เรย์แรก array1 หากผ่านการแทนที่อาร์เรย์หลายรายการ อาร์เรย์เหล่านั้นจะถูกประมวลผลตามลำดับ และค่าของอาร์เรย์ที่ตามมาจะเขียนทับค่าของอาร์เรย์ก่อนหน้า
หมายเหตุ: หากคุณไม่ได้ระบุคีย์สำหรับแต่ละอาร์เรย์ ฟังก์ชันนี้จะทำงานเหมือนกับฟังก์ชัน array_replace()
array_replace_recursive( array1,array2,array3... )
พารามิเตอร์ | อธิบาย |
---|---|
อาร์เรย์1 | ที่จำเป็น. ระบุอาร์เรย์ |
อาร์เรย์2 | ไม่จำเป็น. ระบุอาร์เรย์เพื่อแทนที่ค่าของ array1 |
อาร์เรย์3,... | ไม่จำเป็น. ระบุหลายอาร์เรย์เพื่อแทนที่ค่าของ array1 และ array2, .... ค่าในอาร์เรย์ต่อไปนี้จะเขียนทับค่าในอาร์เรย์ก่อนหน้า |
ค่าส่งคืน: | ส่งกลับอาร์เรย์ที่ถูกแทนที่หรือ NULL หากเกิดข้อผิดพลาด |
---|---|
เวอร์ชัน PHP: | 5.3.0+ |
หลายอาร์เรย์:
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"));$a2=array("a"=>array(" สีเหลือง"),"b"=>array("blac k"));$a3=array("a"=>array("สีส้ม"),"b"=>array("เบอร์กันดี"));print_r(array_replace_recursive($a1,$a2,$a3)); ?>ความแตกต่างระหว่าง array_replace() และ array_replace_recursive():
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"),);$a2=array("a"=>array( "สีเหลือง"),"b"=>array("สีดำ" ));$result=array_replace_recursive($a1,$a2);print_r($result);$result=array_replace($a1,$a2);print_r($result);?>