วิธี merge array (นำอาร์เรย์หลายๆชุดมาผสานเข้าด้วยกัน) เฉพาะ Key ที่เหมือนกัน

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

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

Post Reply
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 19968
Joined: 31/03/2014 10:02 am
Contact:

วิธี merge array (นำอาร์เรย์หลายๆชุดมาผสานเข้าด้วยกัน) เฉพาะ Key ที่เหมือนกัน

Post by thatsawan » 19/01/2016 12:06 am

$id_category =

Code: Select all

Array ( [13] => Array ( [category_id] => 13 ) [14] => Array ( [category_id] => 14 ) [16] => Array ( [category_id] => 16 ) )
$row_data =

Code: Select all

Array ( [13] => Array ( [parent_id] => 15 [tag_name] => 1111111 [tag_type] => 0 ) [14] => Array ( [parent_id] => 15 [tag_name] => 22222 [tag_type] => 0 ) )

Code: Select all

  $a = $this->MergeArrays($id_category, $row_data);

Code: Select all

   public function MergeArrays($Arr1, $Arr2) {
        foreach ($Arr2 as $key => $Value) {
            if (array_key_exists($key, $Arr1) && is_array($Value))
                $Arr1[$key] = $this->MergeArrays($Arr1[$key], $Arr2[$key]);
            else
                $Arr1[$key] = $Value;
        }

        return $Arr1;
    }

ผลลัพท์

Code: Select all

Array
(
    [13] => Array
        (
            [category_id] => 13
            [parent_id] => 15
            [tag_name] => 1111111
            [tag_type] => 0
        )

    [14] => Array
        (
            [category_id] => 14
            [parent_id] => 15
            [tag_name] => 22222
            [tag_type] => 0
        )

    [16] => Array
        (
            [category_id] => 16
        )

) 

อ้างอิง http://php.net/manual/en/function.array ... php#102379

Post Reply

Return to “PHP Knowledge”

Users browsing this forum: No registered users and 2 guests