3v4l.org

run code in 300+ PHP versions simultaneously
<?php $row = array(); $row['title'] = 'Mr Smith'; $row['surname'] = 'Smith'; if ( isset($row['title']) && isset($row['surname']) ) { if ( '' !== trim($row['title']) && '' !== trim($row['surname']) ) { $titleParts = explode(' ',$row['title']); if ( count($titleParts) > 1 ) { if ( -1 !== strpos($row['title'],$row['surname']) ) { echo 'yay'; } } } }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 41
Branch analysis from position: 10
2 jumps found. (Code = 46) Position 1 = 16, Position 2 = 22
Branch analysis from position: 16
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 41
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 41
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 41
Branch analysis from position: 40
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 41
Branch analysis from position: 41
Branch analysis from position: 41
Branch analysis from position: 22
Branch analysis from position: 41
Branch analysis from position: 9
filename:       /in/b5CMQ
function name:  (null)
number of ops:  42
compiled vars:  !0 = $row, !1 = $titleParts
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    3     1        ASSIGN_DIM                                               !0, 'title'
          2        OP_DATA                                                  'Mr+Smith'
    4     3        ASSIGN_DIM                                               !0, 'surname'
          4        OP_DATA                                                  'Smith'
    5     5        ISSET_ISEMPTY_DIM_OBJ                         0  ~5      !0, 'title'
          6      > JMPZ_EX                                          ~5      ~5, ->9
          7    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~6      !0, 'surname'
          8        BOOL                                             ~5      ~6
          9    > > JMPZ                                                     ~5, ->41
    6    10    >   INIT_FCALL                                               'trim'
         11        FETCH_DIM_R                                      ~7      !0, 'title'
         12        SEND_VAL                                                 ~7
         13        DO_ICALL                                         $8      
         14        IS_NOT_IDENTICAL                                 ~9      $8, ''
         15      > JMPZ_EX                                          ~9      ~9, ->22
         16    >   INIT_FCALL                                               'trim'
         17        FETCH_DIM_R                                      ~10     !0, 'surname'
         18        SEND_VAL                                                 ~10
         19        DO_ICALL                                         $11     
         20        IS_NOT_IDENTICAL                                 ~12     $11, ''
         21        BOOL                                             ~9      ~12
         22    > > JMPZ                                                     ~9, ->41
    7    23    >   INIT_FCALL                                               'explode'
         24        SEND_VAL                                                 '+'
         25        FETCH_DIM_R                                      ~13     !0, 'title'
         26        SEND_VAL                                                 ~13
         27        DO_ICALL                                         $14     
         28        ASSIGN                                                   !1, $14
    8    29        COUNT                                            ~16     !1
         30        IS_SMALLER                                               1, ~16
         31      > JMPZ                                                     ~17, ->41
    9    32    >   INIT_FCALL                                               'strpos'
         33        FETCH_DIM_R                                      ~18     !0, 'title'
         34        SEND_VAL                                                 ~18
         35        FETCH_DIM_R                                      ~19     !0, 'surname'
         36        SEND_VAL                                                 ~19
         37        DO_ICALL                                         $20     
         38        IS_NOT_IDENTICAL                                         $20, -1
         39      > JMPZ                                                     ~21, ->41
   10    40    >   ECHO                                                     'yay'
   14    41    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
174.94 ms | 1400 KiB | 19 Q