PHP array_replace_recursive()ฟังก์ชั่น
ตัวอย่าง
แทนที่ค่าของอาร์เรย์แรกด้วยค่าจากอาร์เรย์ที่สองแบบวนซ้ำ:
<?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, ...)
ค่าพารามิเตอร์
Parameter | Description |
---|---|
array1 | Required. Specifies an array |
array2 | Optional. Specifies an array which will replace the values of array1 |
array3,... | Optional. Specifies more arrays to replace the values of array1 and array2, etc. Values from later arrays will overwrite the previous ones. |
รายละเอียดทางเทคนิค
คืนมูลค่า: | ส่งกลับอาร์เรย์ที่ถูกแทนที่หรือ NULL หากเกิดข้อผิดพลาด |
---|---|
รุ่น PHP: | 5.3.0+ |
ตัวอย่างเพิ่มเติม
ตัวอย่าง
หลายอาร์เรย์:
<?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));
?>
ตัวอย่าง
ความแตกต่างระหว่าง 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);
?>
❮ การอ้างอิงอาร์เรย์ PHP