ทำความรู้จักกับ array_replace_recursive ()

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

Patipat
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 996
ลงทะเบียนเมื่อ: 10/06/2019 10:12 am

ทำความรู้จักกับ array_replace_recursive ()

โพสต์ที่ยังไม่ได้อ่าน โดย Patipat »

ทำความรู้จักกับ คำว่า Arrayกันก่อนนะครับ อาเรย์คือกลุ่มของข้อมูลที่เรียงลำดับกัน ซึ่งข้อมูลจะเป็นประเภทเดียวกัน และข้อมูลแต่ละตัวจะมีหมายเลขเพื่อใช้ในการอ้างอิงถึงตำแหน่งที่อาเรย์อยู่ จะเป็นตัวแปรที่ชื่อ เหมือนกัน แต่จะแตกต่างกันตรงหมายเลข เช่น มีข้อมูลอยู่ 10 ตัว เขียนในแบบ Array ได้ว่า สมมติ int num[10]; พอปริ้น ออกมาดู ก็จะได้ num[1] ถึง num[10] แต่อยู่ที่การเขียน loop ด้วยว่า เราเริ่มตัวแรกที่ 0 หรือ 1 ถ้าเริ่มที่ 0 ก็จะได้ 0-9 ถ้าเริ่มที่ 1 ก็จะได้ 1-10
ก็ได้ยกตัวอย่าง คร่าวๆ ไปแล้วนะครับ ในบทความนี้เราจะมาดู เรื่องของ array_replace_recursive ()

array_replace_recursive () เป็นฟังก์ชั่นใน PHP inbuilt ใช้ในการแทนที่ค่าของอาร์เรย์แรกที่มีค่าจากอาร์เรย์ซ้ำต่อไป จะทำการแทนที่เรามาดูตัวอย่างกันเลยนะครับ

อย่างเช่น
เรามีค่าอาเรย์

โค้ด: เลือกทั้งหมด

 $a1 = array( "a" => array("A"), 
            "b" => array("BB", "BB"));

$a2 = array( "a" => array("C"), 
            "b" => array("DD"));


$a3 = array( "a" => array("E"), 
            "b" => array("FF")); 
พอปริ้นค่าออกมาดู เราจะได้ผลลัพธ์คือ print_r(array_replace_recursive($a1, $a2, $a3));

โค้ด: เลือกทั้งหมด

Array
(
    [a] => Array
        (
            [0] => E   // มีตำแหน่งเดียว และเป็นค่าล่าสุด
        )

    [b] => Array
        (
            [0] => FF // ตำแหน่งที่1 และคือค่า ล่าสุด
            [1] => BB  // คือตำแหน่งที่2 แต่ว่าไม่มีค่าอื่นมาซ้ำค่าเลยไม่เปลี่ยน
        )

)
 
** สรุปง่ายๆ ค่าล่าสุดของตำแหน่งนั้น ๆ จะไปเปลี่ยนแปลงของค่าเก่าในตำแหน่งนั้น ๆ

ศึกษาต่อกันได้ ที่นี่
Kor ma di kub. :)
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 69