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