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