หน้า 1 จากทั้งหมด 1

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

โพสต์แล้ว: 19/01/2016 12:06 am
โดย thatsawan
$id_category =

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

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

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

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

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

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

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

   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;
    }

ผลลัพท์

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

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