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

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

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

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

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

Top