3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $productName = "Bad Boy V Bar"; // Clothing if (strpos($productName,"Vest") !== false) { echo "vest"; } elseif (strpos($productName, "tee") !== false) { echo "tee"; } elseif (strpos($productName, "t-shirt") !== false) { echo "t-shirt"; } elseif (strpos($productName, "top") !== false) { echo "top"; } elseif (strpos($productName, "cap") !== false) { echo "cap"; } elseif (strpos($productName, "socks") !== false) { echo "socks"; } elseif (strpos($productName, "jogger") !== false) { echo "jogger"; } elseif (strpos($productName, "hoodie") !== false) { echo "hoodie"; } elseif (strpos($productName, "hoodie") !== false) { echo "hoodie"; } elseif (strpos($productName, "weighted vest") !== false) { echo "weighted vest"; } elseif (strpos($productName, "barbell") !== false) { echo "barbell"; } elseif (strpos($productName, "kettlebell") !== false) { echo "kettlebell"; } elseif (strpos($productName, "curl bar") !== false) { echo "curl bar"; } elseif (strpos($productName, "rope") !== false) { echo "rope"; } elseif (strpos($productName, "purpose bar") !== false) { echo "purpose bar"; } elseif (strpos($productName, "weight plate") !== false) { echo "weight plate"; } elseif (strpos($productName, "olympic bar") !== false) { echo "olympic bar"; } elseif (strpos($productName, "cable") !== false) { echo "cable attachments"; } elseif (strpos($productName, "lat bar") !== false) { echo "lat bar"; } elseif (strpos($productName, "dumpbell") !== false) { echo "dumpbell"; } elseif (strpos($productName, "v bar") !== false) { echo "v bar"; } elseif (strpos($productName, "dumpbell") !== false) { echo "dumpbell"; } elseif (strpos($productName, "grip disc") !== false) { echo "grip disc"; } elseif (strpos($productName, "grip weight") !== false) { echo "grip weight"; } elseif (strpos($productName, "cable handle") !== false) { echo "cable handle"; } ?>
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
Jump found. Position 1 = 200
Branch analysis from position: 200
Jump found. Position 1 = -2
Branch analysis from position: 9
Jump found. Position 1 = 15, Position 2 = 17
Branch analysis from position: 15
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 17
Jump found. Position 1 = 23, Position 2 = 25
Branch analysis from position: 23
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 25
Jump found. Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 33
Jump found. Position 1 = 39, Position 2 = 41
Branch analysis from position: 39
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 41
Jump found. Position 1 = 47, Position 2 = 49
Branch analysis from position: 47
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 49
Jump found. Position 1 = 55, Position 2 = 57
Branch analysis from position: 55
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 57
Jump found. Position 1 = 63, Position 2 = 65
Branch analysis from position: 63
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 65
Jump found. Position 1 = 71, Position 2 = 73
Branch analysis from position: 71
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 73
Jump found. Position 1 = 79, Position 2 = 81
Branch analysis from position: 79
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 81
Jump found. Position 1 = 87, Position 2 = 89
Branch analysis from position: 87
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 89
Jump found. Position 1 = 95, Position 2 = 97
Branch analysis from position: 95
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 97
Jump found. Position 1 = 103, Position 2 = 105
Branch analysis from position: 103
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 105
Jump found. Position 1 = 111, Position 2 = 113
Branch analysis from position: 111
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 113
Jump found. Position 1 = 119, Position 2 = 121
Branch analysis from position: 119
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 121
Jump found. Position 1 = 127, Position 2 = 129
Branch analysis from position: 127
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 129
Jump found. Position 1 = 135, Position 2 = 137
Branch analysis from position: 135
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 137
Jump found. Position 1 = 143, Position 2 = 145
Branch analysis from position: 143
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 145
Jump found. Position 1 = 151, Position 2 = 153
Branch analysis from position: 151
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 153
Jump found. Position 1 = 159, Position 2 = 161
Branch analysis from position: 159
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 161
Jump found. Position 1 = 167, Position 2 = 169
Branch analysis from position: 167
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 169
Jump found. Position 1 = 175, Position 2 = 177
Branch analysis from position: 175
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 177
Jump found. Position 1 = 183, Position 2 = 185
Branch analysis from position: 183
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 185
Jump found. Position 1 = 191, Position 2 = 193
Branch analysis from position: 191
Jump found. Position 1 = 200
Branch analysis from position: 200
Branch analysis from position: 193
Jump found. Position 1 = 199, Position 2 = 200
Branch analysis from position: 199
Jump found. Position 1 = -2
Branch analysis from position: 200
filename:       /in/EdRBr
function name:  (null)
number of ops:  201
compiled vars:  !0 = $productName
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   2     0  E >   ASSIGN                                                   !0, 'Bad+Boy+V+Bar'
   4     1        INIT_FCALL                                               'strpos'
         2        SEND_VAR                                                 !0
         3        SEND_VAL                                                 'Vest'
         4        DO_ICALL                                         $2      
         5        IS_NOT_IDENTICAL                                 ~3      $2, <false>
         6      > JMPZ                                                     ~3, ->9
   5     7    >   ECHO                                                     'vest'
         8      > JMP                                                      ->200
   7     9    >   INIT_FCALL                                               'strpos'
        10        SEND_VAR                                                 !0
        11        SEND_VAL                                                 'tee'
        12        DO_ICALL                                         $4      
        13        IS_NOT_IDENTICAL                                 ~5      $4, <false>
        14      > JMPZ                                                     ~5, ->17
   8    15    >   ECHO                                                     'tee'
        16      > JMP                                                      ->200
  10    17    >   INIT_FCALL                                               'strpos'
        18        SEND_VAR                                                 !0
        19        SEND_VAL                                                 't-shirt'
        20        DO_ICALL                                         $6      
        21        IS_NOT_IDENTICAL                                 ~7      $6, <false>
        22      > JMPZ                                                     ~7, ->25
  11    23    >   ECHO                                                     't-shirt'
        24      > JMP                                                      ->200
  13    25    >   INIT_FCALL                                               'strpos'
        26        SEND_VAR                                                 !0
        27        SEND_VAL                                                 'top'
        28        DO_ICALL                                         $8      
        29        IS_NOT_IDENTICAL                                 ~9      $8, <false>
        30      > JMPZ                                                     ~9, ->33
  14    31    >   ECHO                                                     'top'
        32      > JMP                                                      ->200
  16    33    >   INIT_FCALL                                               'strpos'
        34        SEND_VAR                                                 !0
        35        SEND_VAL                                                 'cap'
        36        DO_ICALL                                         $10     
        37        IS_NOT_IDENTICAL                                 ~11     $10, <false>
        38      > JMPZ                                                     ~11, ->41
  17    39    >   ECHO                                                     'cap'
        40      > JMP                                                      ->200
  19    41    >   INIT_FCALL                                               'strpos'
        42        SEND_VAR                                                 !0
        43        SEND_VAL                                                 'socks'
        44        DO_ICALL                                         $12     
        45        IS_NOT_IDENTICAL                                 ~13     $12, <false>
        46      > JMPZ                                                     ~13, ->49
  20    47    >   ECHO                                                     'socks'
        48      > JMP                                                      ->200
  22    49    >   INIT_FCALL                                               'strpos'
        50        SEND_VAR                                                 !0
        51        SEND_VAL                                                 'jogger'
        52        DO_ICALL                                         $14     
        53        IS_NOT_IDENTICAL                                 ~15     $14, <false>
        54      > JMPZ                                                     ~15, ->57
  23    55    >   ECHO                                                     'jogger'
        56      > JMP                                                      ->200
  25    57    >   INIT_FCALL                                               'strpos'
        58        SEND_VAR                                                 !0
        59        SEND_VAL                                                 'hoodie'
        60        DO_ICALL                                         $16     
        61        IS_NOT_IDENTICAL                                 ~17     $16, <false>
        62      > JMPZ                                                     ~17, ->65
  26    63    >   ECHO                                                     'hoodie'
        64      > JMP                                                      ->200
  28    65    >   INIT_FCALL                                               'strpos'
        66        SEND_VAR                                                 !0
        67        SEND_VAL                                                 'hoodie'
        68        DO_ICALL                                         $18     
        69        IS_NOT_IDENTICAL                                 ~19     $18, <false>
        70      > JMPZ                                                     ~19, ->73
  29    71    >   ECHO                                                     'hoodie'
        72      > JMP                                                      ->200
  31    73    >   INIT_FCALL                                               'strpos'
        74        SEND_VAR                                                 !0
        75        SEND_VAL                                                 'weighted+vest'
        76        DO_ICALL                                         $20     
        77        IS_NOT_IDENTICAL                                 ~21     $20, <false>
        78      > JMPZ                                                     ~21, ->81
  32    79    >   ECHO                                                     'weighted+vest'
        80      > JMP                                                      ->200
  34    81    >   INIT_FCALL                                               'strpos'
        82        SEND_VAR                                                 !0
        83        SEND_VAL                                                 'barbell'
        84        DO_ICALL                                         $22     
        85        IS_NOT_IDENTICAL                                 ~23     $22, <false>
        86      > JMPZ                                                     ~23, ->89
  35    87    >   ECHO                                                     'barbell'
        88      > JMP                                                      ->200
  37    89    >   INIT_FCALL                                               'strpos'
        90        SEND_VAR                                                 !0
        91        SEND_VAL                                                 'kettlebell'
        92        DO_ICALL                                         $24     
        93        IS_NOT_IDENTICAL                                 ~25     $24, <false>
        94      > JMPZ                                                     ~25, ->97
  38    95    >   ECHO                                                     'kettlebell'
        96      > JMP                                                      ->200
  40    97    >   INIT_FCALL                                               'strpos'
        98        SEND_VAR                                                 !0
        99        SEND_VAL                                                 'curl+bar'
       100        DO_ICALL                                         $26     
       101        IS_NOT_IDENTICAL                                 ~27     $26, <false>
       102      > JMPZ                                                     ~27, ->105
  41   103    >   ECHO                                                     'curl+bar'
       104      > JMP                                                      ->200
  43   105    >   INIT_FCALL                                               'strpos'
       106        SEND_VAR                                                 !0
       107        SEND_VAL                                                 'rope'
       108        DO_ICALL                                         $28     
       109        IS_NOT_IDENTICAL                                 ~29     $28, <false>
       110      > JMPZ                                                     ~29, ->113
  44   111    >   ECHO                                                     'rope'
       112      > JMP                                                      ->200
  46   113    >   INIT_FCALL                                               'strpos'
       114        SEND_VAR                                                 !0
       115        SEND_VAL                                                 'purpose+bar'
       116        DO_ICALL                                         $30     
       117        IS_NOT_IDENTICAL                                 ~31     $30, <false>
       118      > JMPZ                                                     ~31, ->121
  47   119    >   ECHO                                                     'purpose+bar'
       120      > JMP                                                      ->200
  49   121    >   INIT_FCALL                                               'strpos'
       122        SEND_VAR                                                 !0
       123        SEND_VAL                                                 'weight+plate'
       124        DO_ICALL                                         $32     
       125        IS_NOT_IDENTICAL                                 ~33     $32, <false>
       126      > JMPZ                                                     ~33, ->129
  50   127    >   ECHO                                                     'weight+plate'
       128      > JMP                                                      ->200
  52   129    >   INIT_FCALL                                               'strpos'
       130        SEND_VAR                                                 !0
       131        SEND_VAL                                                 'olympic+bar'
       132        DO_ICALL                                         $34     
       133        IS_NOT_IDENTICAL                                 ~35     $34, <false>
       134      > JMPZ                                                     ~35, ->137
  53   135    >   ECHO                                                     'olympic+bar'
       136      > JMP                                                      ->200
  55   137    >   INIT_FCALL                                               'strpos'
       138        SEND_VAR                                                 !0
       139        SEND_VAL                                                 'cable'
       140        DO_ICALL                                         $36     
       141        IS_NOT_IDENTICAL                                 ~37     $36, <false>
       142      > JMPZ                                                     ~37, ->145
  56   143    >   ECHO                                                     'cable+attachments'
       144      > JMP                                                      ->200
  58   145    >   INIT_FCALL                                               'strpos'
       146        SEND_VAR                                                 !0
       147        SEND_VAL                                                 'lat+bar'
       148        DO_ICALL                                         $38     
       149        IS_NOT_IDENTICAL                                 ~39     $38, <false>
       150      > JMPZ                                                     ~39, ->153
  59   151    >   ECHO                                                     'lat+bar'
       152      > JMP                                                      ->200
  61   153    >   INIT_FCALL                                               'strpos'
       154        SEND_VAR                                                 !0
       155        SEND_VAL                                                 'dumpbell'
       156        DO_ICALL                                         $40     
       157        IS_NOT_IDENTICAL                                 ~41     $40, <false>
       158      > JMPZ                                                     ~41, ->161
  62   159    >   ECHO                                                     'dumpbell'
       160      > JMP                                                      ->200
  64   161    >   INIT_FCALL                                               'strpos'
       162        SEND_VAR                                                 !0
       163        SEND_VAL                                                 'v+bar'
       164        DO_ICALL                                         $42     
       165        IS_NOT_IDENTICAL                                 ~43     $42, <false>
       166      > JMPZ                                                     ~43, ->169
  65   167    >   ECHO                                                     'v+bar'
       168      > JMP                                                      ->200
  67   169    >   INIT_FCALL                                               'strpos'
       170        SEND_VAR                                                 !0
       171        SEND_VAL                                                 'dumpbell'
       172        DO_ICALL                                         $44     
       173        IS_NOT_IDENTICAL                                 ~45     $44, <false>
       174      > JMPZ                                                     ~45, ->177
  68   175    >   ECHO                                                     'dumpbell'
       176      > JMP                                                      ->200
  70   177    >   INIT_FCALL                                               'strpos'
       178        SEND_VAR                                                 !0
       179        SEND_VAL                                                 'grip+disc'
       180        DO_ICALL                                         $46     
       181        IS_NOT_IDENTICAL                                 ~47     $46, <false>
       182      > JMPZ                                                     ~47, ->185
  71   183    >   ECHO                                                     'grip+disc'
       184      > JMP                                                      ->200
  73   185    >   INIT_FCALL                                               'strpos'
       186        SEND_VAR                                                 !0
       187        SEND_VAL                                                 'grip+weight'
       188        DO_ICALL                                         $48     
       189        IS_NOT_IDENTICAL                                 ~49     $48, <false>
       190      > JMPZ                                                     ~49, ->193
  74   191    >   ECHO                                                     'grip+weight'
       192      > JMP                                                      ->200
  76   193    >   INIT_FCALL                                               'strpos'
       194        SEND_VAR                                                 !0
       195        SEND_VAL                                                 'cable+handle'
       196        DO_ICALL                                         $50     
       197        IS_NOT_IDENTICAL                                 ~51     $50, <false>
       198      > JMPZ                                                     ~51, ->200
  77   199    >   ECHO                                                     'cable+handle'
       200    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 7.2.0