3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = [ (object) [ "mem_tbl_id" => 1, "m_name_e" => "Titus C.", "member_id" => "KZI37M3025", "gender" => "Male", "m_number" => 9489455057, "familyid" => "KZI54F2256" ], (object) [ "mem_tbl_id" => 2, "m_name_e" => "Baby Helen", "member_id" => "KZI45M6402", "gender" => "Female", "m_number" => null, "familyid" => "KZI54F2256" ], (object) [ "mem_tbl_id" => 3, "m_name_e" => "Satheesh Premananth T.", "member_id" => "KZI69M3438", "gender" => "Male", "m_number" => null, "familyid" => "KZI69F5619" ] ]; $array2 = [ (object) [ "mem_tbl_id" => 1, "do_birth" => "1937-09-18" ], (object) [ "mem_tbl_id" => 2, "do_birth" => "1945-02-06" ], (object) [ "mem_tbl_id" => 3, "do_birth" => "1968-04-12" ] ]; $array3 = [ (object) [ "mem_tbl_id" => 3, "do_baptism" => "1969-04-13" ] ]; $array4 = [ (object) [ "mem_tbl_id" => 1, "do_confirm" => "1954-04-07" ], (object) [ "mem_tbl_id" => 3, "do_confirm" => "1990-04-29" ] ]; $result = []; foreach ([$array1, $array2, $array3, $array4] as $objectArray) { foreach ($objectArray as $obj) { if (!isset($ref[$obj->mem_tbl_id])) { $ref[$obj->mem_tbl_id] = $obj; $result[] = $ref[$obj->mem_tbl_id]; } else { foreach ($obj as $prop => $val) { $ref[$obj->mem_tbl_id]->$prop = $val; } } } } var_export($result);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 28, Position 2 = 55
Branch analysis from position: 28
2 jumps found. (Code = 78) Position 1 = 29, Position 2 = 55
Branch analysis from position: 29
2 jumps found. (Code = 77) Position 1 = 30, Position 2 = 53
Branch analysis from position: 30
2 jumps found. (Code = 78) Position 1 = 31, Position 2 = 53
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 43
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 52
Branch analysis from position: 52
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 43
2 jumps found. (Code = 77) Position 1 = 44, Position 2 = 51
Branch analysis from position: 44
2 jumps found. (Code = 78) Position 1 = 45, Position 2 = 51
Branch analysis from position: 45
1 jumps found. (Code = 42) Position 1 = 44
Branch analysis from position: 44
Branch analysis from position: 51
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 51
Branch analysis from position: 53
1 jumps found. (Code = 42) Position 1 = 28
Branch analysis from position: 28
Branch analysis from position: 53
Branch analysis from position: 55
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 55
filename:       /in/CtOFm
function name:  (null)
number of ops:  60
compiled vars:  !0 = $array1, !1 = $array2, !2 = $array3, !3 = $array4, !4 = $result, !5 = $objectArray, !6 = $obj, !7 = $ref, !8 = $val, !9 = $prop
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   CAST                                          8  ~10     <array>
          1        INIT_ARRAY                                       ~11     ~10
   13     2        CAST                                          8  ~12     <array>
          3        ADD_ARRAY_ELEMENT                                ~11     ~12
   21     4        CAST                                          8  ~13     <array>
          5        ADD_ARRAY_ELEMENT                                ~11     ~13
    3     6        ASSIGN                                                   !0, ~11
   32     7        CAST                                          8  ~15     <array>
          8        INIT_ARRAY                                       ~16     ~15
   36     9        CAST                                          8  ~17     <array>
         10        ADD_ARRAY_ELEMENT                                ~16     ~17
   40    11        CAST                                          8  ~18     <array>
         12        ADD_ARRAY_ELEMENT                                ~16     ~18
   30    13        ASSIGN                                                   !1, ~16
   47    14        CAST                                          8  ~20     <array>
         15        INIT_ARRAY                                       ~21     ~20
   45    16        ASSIGN                                                   !2, ~21
   54    17        CAST                                          8  ~23     <array>
         18        INIT_ARRAY                                       ~24     ~23
   58    19        CAST                                          8  ~25     <array>
         20        ADD_ARRAY_ELEMENT                                ~24     ~25
   52    21        ASSIGN                                                   !3, ~24
   63    22        ASSIGN                                                   !4, <array>
   64    23        INIT_ARRAY                                       ~28     !0
         24        ADD_ARRAY_ELEMENT                                ~28     !1
         25        ADD_ARRAY_ELEMENT                                ~28     !2
         26        ADD_ARRAY_ELEMENT                                ~28     !3
         27      > FE_RESET_R                                       $29     ~28, ->55
         28    > > FE_FETCH_R                                               $29, !5, ->55
   65    29    > > FE_RESET_R                                       $30     !5, ->53
         30    > > FE_FETCH_R                                               $30, !6, ->53
   66    31    >   FETCH_OBJ_R                                      ~31     !6, 'mem_tbl_id'
         32        ISSET_ISEMPTY_DIM_OBJ                         0  ~32     !7, ~31
         33        BOOL_NOT                                         ~33     ~32
         34      > JMPZ                                                     ~33, ->43
   67    35    >   FETCH_OBJ_R                                      ~34     !6, 'mem_tbl_id'
         36        ASSIGN_DIM                                               !7, ~34
         37        OP_DATA                                                  !6
   68    38        FETCH_OBJ_R                                      ~37     !6, 'mem_tbl_id'
         39        FETCH_DIM_R                                      ~38     !7, ~37
         40        ASSIGN_DIM                                               !4
         41        OP_DATA                                                  ~38
   66    42      > JMP                                                      ->52
   70    43    > > FE_RESET_R                                       $39     !6, ->51
         44    > > FE_FETCH_R                                       ~40     $39, !8, ->51
         45    >   ASSIGN                                                   !9, ~40
   71    46        FETCH_OBJ_R                                      ~42     !6, 'mem_tbl_id'
         47        FETCH_DIM_W                                      $43     !7, ~42
         48        ASSIGN_OBJ                                               $43, !9
         49        OP_DATA                                                  !8
   70    50      > JMP                                                      ->44
         51    >   FE_FREE                                                  $39
   65    52    > > JMP                                                      ->30
         53    >   FE_FREE                                                  $30
   64    54      > JMP                                                      ->28
         55    >   FE_FREE                                                  $29
   76    56        INIT_FCALL                                               'var_export'
         57        SEND_VAR                                                 !4
         58        DO_ICALL                                                 
         59      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
137.24 ms | 1005 KiB | 14 Q