3v4l.org

run code in 300+ PHP versions simultaneously
<?php $contactArray = array( array( "CreatedAt" => "2019-04-12T11:53:26Z", "DeliveredCount" => 0, "Email" => "terry@example.org", "ExclusionFromCampaignsUpdatedAt" => "2019-04-28T09:21:35Z", "ID" => 1864410583, "IsExcludedFromCampaigns" => false, "IsOptInPending" => false, "IsSpamComplaining" => false, "LastActivityAt" => "2019-04-28T09:21:35Z", "LastUpdateAt" => "2019-04-28T09:21:35Z", "Name" => "", "UnsubscribedAt" => "", "UnsubscribedBy" => "" ), array( "CreatedAt" => "2019-04-12T12:39:30Z", "DeliveredCount" => 0, "Email" => "duane@example.org", "ExclusionFromCampaignsUpdatedAt" => "", "ID" => 1864410588, "IsExcludedFromCampaigns" => false, "IsOptInPending" => false, "IsSpamComplaining" => false, "LastActivityAt" => "2019-04-12T12:39:30Z", "LastUpdateAt" => "2019-04-12T12:39:30Z", "Name" => "", "UnsubscribedAt" => "", "UnsubscribedBy" => "" ) ); $contactDataArray = array( array( "ContactID" => 1864410583, "Data" => array( array( "Name" => "firstname", "Value" => "Mark" ), array( "Name" => "city", "Value" => "Miami" ), array( "Name" => "name", "Value" => "Terry" ), array( "Name" => "phone", "Value" => "555-5555" ) ), "ID" => 1864410583 ), array( "ContactID" => 1864410588, "Data" => array( array( "Name" => "firstname", "Value" => "Jane" ), array( "Name" => "city", "Value" => "New York" ), array( "Name" => "name", "Value" => "Duane" ), array( "Name" => "phone", "Value" => "555-5555" ) ), "ID" => 1864410588 ) ); $output = []; foreach ($contactDataArray as [ 'ID' => $id, 'Data' => [ ['Name' => $firstnameKey, 'Value' => $firstnameValue], ['Name' => $cityKey, 'Value' => $cityValue], ['Name' => $nameKey, 'Value' => $nameValue], ['Name' => $phoneKey, 'Value' => $phoneValue] ] ]) { $output[] = [ "Email" => $contactArray[array_search($id, array_column($contactArray, 'ID'))]['Email'], "ID" => $id, $firstnameKey => $firstnameValue, $cityKey => $cityValue, $nameKey => $nameValue, $phoneKey => $phoneValue ]; } var_dump($output);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 53
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 53
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 53
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 53
filename:       /in/9Ghhb
function name:  (null)
number of ops:  58
compiled vars:  !0 = $contactArray, !1 = $contactDataArray, !2 = $output, !3 = $id, !4 = $firstnameKey, !5 = $firstnameValue, !6 = $cityKey, !7 = $cityValue, !8 = $nameKey, !9 = $nameValue, !10 = $phoneKey, !11 = $phoneValue
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
   36     1        ASSIGN                                                   !1, <array>
   83     2        ASSIGN                                                   !2, <array>
   85     3      > FE_RESET_R                                       $15     !1, ->53
          4    > > FE_FETCH_R                                               $15, $16, ->53
   86     5    >   FETCH_LIST_R                                     $17     $16, 'ID'
          6        ASSIGN                                                   !3, $17
   87     7        FETCH_LIST_R                                     $19     $16, 'Data'
          8        FETCH_LIST_R                                     $20     $19, 0
   88     9        FETCH_LIST_R                                     $21     $20, 'Name'
         10        ASSIGN                                                   !4, $21
         11        FETCH_LIST_R                                     $23     $20, 'Value'
         12        ASSIGN                                                   !5, $23
         13        FREE                                                     $20
         14        FETCH_LIST_R                                     $25     $19, 1
   89    15        FETCH_LIST_R                                     $26     $25, 'Name'
         16        ASSIGN                                                   !6, $26
         17        FETCH_LIST_R                                     $28     $25, 'Value'
         18        ASSIGN                                                   !7, $28
         19        FREE                                                     $25
         20        FETCH_LIST_R                                     $30     $19, 2
   90    21        FETCH_LIST_R                                     $31     $30, 'Name'
         22        ASSIGN                                                   !8, $31
         23        FETCH_LIST_R                                     $33     $30, 'Value'
         24        ASSIGN                                                   !9, $33
         25        FREE                                                     $30
         26        FETCH_LIST_R                                     $35     $19, 3
   91    27        FETCH_LIST_R                                     $36     $35, 'Name'
         28        ASSIGN                                                   !10, $36
         29        FETCH_LIST_R                                     $38     $35, 'Value'
         30        ASSIGN                                                   !11, $38
         31        FREE                                                     $35
         32        FREE                                                     $19
         33        FREE                                                     $16
   95    34        INIT_FCALL                                               'array_search'
         35        SEND_VAR                                                 !3
         36        INIT_FCALL                                               'array_column'
         37        SEND_VAR                                                 !0
         38        SEND_VAL                                                 'ID'
         39        DO_ICALL                                         $41     
         40        SEND_VAR                                                 $41
         41        DO_ICALL                                         $42     
         42        FETCH_DIM_R                                      ~43     !0, $42
         43        FETCH_DIM_R                                      ~44     ~43, 'Email'
         44        INIT_ARRAY                                       ~45     ~44, 'Email'
   96    45        ADD_ARRAY_ELEMENT                                ~45     !3, 'ID'
   97    46        ADD_ARRAY_ELEMENT                                ~45     !5, !4
   98    47        ADD_ARRAY_ELEMENT                                ~45     !7, !6
   99    48        ADD_ARRAY_ELEMENT                                ~45     !9, !8
  100    49        ADD_ARRAY_ELEMENT                                ~45     !11, !10
   94    50        ASSIGN_DIM                                               !2
  100    51        OP_DATA                                                  ~45
   85    52      > JMP                                                      ->4
         53    >   FE_FREE                                                  $15
  104    54        INIT_FCALL                                               'var_dump'
         55        SEND_VAR                                                 !2
         56        DO_ICALL                                                 
         57      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
141.27 ms | 1007 KiB | 16 Q