3v4l.org

run code in 500+ PHP versions simultaneously
<?php $people = [ [ 'people-name' => 'Albert', 'people-pic' => 'link to pict' ], [ 'people-name' => 'Josh', 'people-pic' => 'link to pict' ], [ 'people-name' => 'James', 'people-pic' => 'link to pict' ], [ 'people-name' => 'Jo', 'people-pic' => 'link to pict' ] ]; $projects = [ [ 'project-name' => 'Project of JJHA', 'people-name' =>'Josh, James, Henry, Albert' ], [ 'project-name' => ' Project of Albert', 'people-name' =>'Albert' ], ]; $lookup = []; foreach ($projects as $project) { foreach (explode(', ', $project['people-name']) as $name) { $lookup[$name][] = $project['project-name']; } } foreach ($people as $person) { echo "<p>Name: {$person['people-name']}</p>\n"; printf( "<p>Projects: %s</p>\n\n", implode(', ', $lookup[$person['people-name']] ?? ['[no projects]']) ); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 19
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 19
Branch analysis from position: 5
2 jumps found. (Code = 77) Position 1 = 11, Position 2 = 17
Branch analysis from position: 11
2 jumps found. (Code = 78) Position 1 = 12, Position 2 = 17
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 17
Branch analysis from position: 19
2 jumps found. (Code = 77) Position 1 = 21, Position 2 = 37
Branch analysis from position: 21
2 jumps found. (Code = 78) Position 1 = 22, Position 2 = 37
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 21
Branch analysis from position: 21
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
Branch analysis from position: 19
filename:       /in/7GejN
function name:  (null)
number of ops:  39
compiled vars:  !0 = $people, !1 = $projects, !2 = $lookup, !3 = $project, !4 = $name, !5 = $person
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, <array>
   22     1        ASSIGN                                                       !1, <array>
   33     2        ASSIGN                                                       !2, <array>
   34     3      > FE_RESET_R                                           $9      !1, ->19
          4    > > FE_FETCH_R                                                   $9, !3, ->19
   35     5    >   INIT_FCALL                                                   'explode'
          6        SEND_VAL                                                     '%2C+'
          7        FETCH_DIM_R                                          ~10     !3, 'people-name'
          8        SEND_VAL                                                     ~10
          9        DO_ICALL                                             $11     
         10      > FE_RESET_R                                           $12     $11, ->17
         11    > > FE_FETCH_R                                                   $12, !4, ->17
   36    12    >   FETCH_DIM_R                                          ~15     !3, 'project-name'
         13        FETCH_DIM_W                                          $13     !2, !4
         14        ASSIGN_DIM                                                   $13
         15        OP_DATA                                                      ~15
   35    16      > JMP                                                          ->11
         17    >   FE_FREE                                                      $12
   34    18      > JMP                                                          ->4
         19    >   FE_FREE                                                      $9
   39    20      > FE_RESET_R                                           $16     !0, ->37
         21    > > FE_FETCH_R                                                   $16, !5, ->37
   40    22    >   ROPE_INIT                                         3  ~19     '%3Cp%3EName%3A+'
         23        FETCH_DIM_R                                          ~17     !5, 'people-name'
         24        ROPE_ADD                                          1  ~19     ~19, ~17
         25        ROPE_END                                          2  ~18     ~19, '%3C%2Fp%3E%0A'
         26        ECHO                                                         ~18
   41    27        INIT_FCALL                                                   'printf'
   42    28        SEND_VAL                                                     '%3Cp%3EProjects%3A+%25s%3C%2Fp%3E%0A%0A'
   43    29        FETCH_DIM_R                                          ~21     !5, 'people-name'
         30        FETCH_DIM_IS                                         ~22     !2, ~21
         31        COALESCE                                             ~23     ~22
         32        QM_ASSIGN                                            ~23     <array>
         33        FRAMELESS_ICALL_2                implode             ~24     '%2C+', ~23
         34        SEND_VAL                                                     ~24
   41    35        DO_ICALL                                                     
   39    36      > JMP                                                          ->21
         37    >   FE_FREE                                                      $16
   45    38      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
125.89 ms | 483 KiB | 9 Q