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