ฟังก์ชัน array_replace() ของ PHP

ตัวอย่าง

ใช้ค่าของแถวนะที่สอง ($a2) แทนค่าของแถวนะแรก ($a1)

<?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() ใช้ค่าของแถวนะที่ตามมาแทนค่าของแถวนะแรกโดยทางเลือก

วลี

array_replace(array1,array2,array3...)
ตัวแปร รายละเอียด
array1 จำเป็น
array2 ให้เลือก array1 ของค่าของแถวนะ ควรเลือก
array3,... ให้เลือก array1 และ array2ของ ... ค่าของแถวนะแบบแนวแบบตัวเลข ค่าของแถวนะที่ตามมาจะทำให้ครบเต็มกับค่าของแถวนะที่มาก่อน

รายละเอียดเทคนิค

ค่าที่กลับมา: กลับค่าแถวลำดับที่ถูกแทนที่ ถ้าเกิดข้อผิดพลาดกลับค่า NULL
เวอร์ชัน PHP: 5.3.0+

ตัวอย่างเพิ่มเติม

ตัวอย่าง 1

ถ้ากุญแจมีอยู่ array1 และมีอยู่ด้วย array2 ในระหว่างนี้ ค่าของแถวลำดับแรก (array1) จะถูกแทนที่ด้วยค่าในแถวลำดับที่สอง (array2)

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("a"=>"orange","burgundy");
print_r(array_replace($a1,$a2));
?>

ทดสอบการทำงาน

ตัวอย่าง 2

ถ้ากุญแจมีอยู่ในแถวลำดับที่สองแต่ไม่มีในแถวลำดับที่หนึ่ง

<?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

ใช้กุญแจตัวเลข - ถ้ากุญแจมีอยู่ในแถวลำดับที่สองแต่ไม่มีในแถวลำดับที่หนึ่ง

<?php
$a1=array("red","green","blue","yellow");
$a2=array(0=>"orange",3=>"burgundy");
print_r(array_replace($a1,$a2));
?>

ทดสอบการทำงาน