ฟังก์ชัน 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)); ?>