3v4l.org

run code in 300+ PHP versions simultaneously
<?php // ---------------------- get article info ---------------------- $articles = simplexml_load_file('xml/shoparticles.xml'); // <-- loads local article database //////(1)fetch multpiple article ids: $ids = array('article1' , 'article2', 'article3'); { $output = '<div class="product">'; foreach ($articles->article as $article) { //////(2)fetch multiple article ids: if (in_array($article['id'], $ids)) { // fetch single article id: if ($article['id'] == 'article1') { **execute code** if ($article['id'] == '10012037') { // get the productType resource $productType = simplexml_load_file($article->product->productType->attributes('xlink', true)); $output .= '<li class="clearfix" id="article_'.$article['id'].'"> <form method="post">'; $output .= '<img src="' . (string)$article->resources->resource->attributes('xlink', true) . ',width=560,height=560" alt="' . $article->name . '" class="preview" />'; // add a select with available sizes $output .= '<select id="size-select" name="size">'; foreach($productType->sizes->size as $val) { $output .= '<option value="'.$val['id'].'">'.$val->name.'</option>'; } $output .= '</select>'; // add a list with available colors $output .= '<ul class="colors" name="color">'; $freecolor = $article->product->restrictions->freeColorSelection; $colorid = $article->product->appearance['id']; foreach ($productType->appearances->appearance as $appearance) { //single color articles if ($appearance['id'] == intval($colorid) && $freecolor == "false") { $output .= '<li value="'.$appearance['id'].'">' . '<a href="javascript:void(0)" target="" title="'. $appearance->name .'">' . '<img src="'. $appearance->resources->resource->attributes('xlink', true) .'" alt="'. $appearance->name .'" name="'. $appearance->name .'" /> </a> </li>'; break; } //multi color articles if ($freecolor == "true") { $output .= '<li value="'.$appearance['id'].'">' . '<a href="javascript:void(0)" target="" title="'. $appearance->name .'">' . '<img src="'. $appearance->resources->resource->attributes('xlink', true) .'" alt="'. $appearance->name .'" name="'. $appearance->name .'" /> </a> </li> '; } } $output .= '</ul>'; //quantity $output .= 'quantity: <input type="text" value="1" maxlenght="2" id="quantity" size="1" name="quantity"> <br /><br />'; //show price $output .= 'price: <b>$'. $article->price->vatExcluded .'</b>'; //------hidden inputs for basket creation--------- //appearance/color $output .= '<input type="hidden" ' . 'value="'. $article->product->appearance['id'] .'" id="appearance_'.$article['id'].'" name="appearance" />'; //article id $output .= '<input type="hidden" value="'. $article['id'] .'" id="article_'.$article['id'].'" name="article" />'; //submits all info to basket $output .= '<input type="submit" name="submit" value="Add to basket" style="float:right" /></form></li>'; } //if $article } //for each $article $output .= '</div>'; ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 7, Position 2 = 149
Branch analysis from position: 7
2 jumps found. (Code = 78) Position 1 = 8, Position 2 = 149
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 148
Branch analysis from position: 11
2 jumps found. (Code = 77) Position 1 = 42, Position 2 = 51
Branch analysis from position: 42
2 jumps found. (Code = 78) Position 1 = 43, Position 2 = 51
Branch analysis from position: 43
1 jumps found. (Code = 42) Position 1 = 42
Branch analysis from position: 42
Branch analysis from position: 51
2 jumps found. (Code = 77) Position 1 = 65, Position 2 = 123
Branch analysis from position: 65
2 jumps found. (Code = 78) Position 1 = 66, Position 2 = 123
Branch analysis from position: 66
2 jumps found. (Code = 46) Position 1 = 70, Position 2 = 72
Branch analysis from position: 70
2 jumps found. (Code = 43) Position 1 = 73, Position 2 = 97
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 123
Branch analysis from position: 123
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 97
2 jumps found. (Code = 43) Position 1 = 99, Position 2 = 122
Branch analysis from position: 99
1 jumps found. (Code = 42) Position 1 = 65
Branch analysis from position: 65
Branch analysis from position: 122
Branch analysis from position: 72
Branch analysis from position: 123
Branch analysis from position: 123
Branch analysis from position: 51
Branch analysis from position: 148
Branch analysis from position: 149
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 149
filename:       /in/cF4kv
function name:  (null)
number of ops:  152
compiled vars:  !0 = $articles, !1 = $output, !2 = $article, !3 = $productType, !4 = $val, !5 = $freecolor, !6 = $colorid, !7 = $appearance
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    5     0  E >   INIT_FCALL                                               'simplexml_load_file'
          1        SEND_VAL                                                 'xml%2Fshoparticles.xml'
          2        DO_ICALL                                         $8      
          3        ASSIGN                                                   !0, $8
    9     4        ASSIGN                                                   !1, '%3Cdiv+class%3D%22product%22%3E'
   10     5        FETCH_OBJ_R                                      ~11     !0, 'article'
          6      > FE_RESET_R                                       $12     ~11, ->149
          7    > > FE_FETCH_R                                               $12, !2, ->149
   16     8    >   FETCH_DIM_R                                      ~13     !2, 'id'
          9        IS_EQUAL                                                 ~13, '10012037'
         10      > JMPZ                                                     ~14, ->148
   19    11    >   INIT_FCALL                                               'simplexml_load_file'
         12        FETCH_OBJ_R                                      ~15     !2, 'product'
         13        FETCH_OBJ_R                                      ~16     ~15, 'productType'
         14        INIT_METHOD_CALL                                         ~16, 'attributes'
         15        SEND_VAL_EX                                              'xlink'
         16        SEND_VAL_EX                                              <true>
         17        DO_FCALL                                      0  $17     
         18        SEND_VAR                                                 $17
         19        DO_ICALL                                         $18     
         20        ASSIGN                                                   !3, $18
   20    21        FETCH_DIM_R                                      ~20     !2, 'id'
         22        CONCAT                                           ~21     '%3Cli+class%3D%22clearfix%22+id%3D%22article_', ~20
         23        CONCAT                                           ~22     ~21, '%22%3E+%3Cform+method%3D%22post%22%3E'
         24        ASSIGN_OP                                     8          !1, ~22
   21    25        FETCH_OBJ_R                                      ~24     !2, 'resources'
         26        FETCH_OBJ_R                                      ~25     ~24, 'resource'
         27        INIT_METHOD_CALL                                         ~25, 'attributes'
         28        SEND_VAL_EX                                              'xlink'
         29        SEND_VAL_EX                                              <true>
         30        DO_FCALL                                      0  $26     
         31        CAST                                          6  ~27     $26
         32        CONCAT                                           ~28     '%3Cimg+src%3D%22', ~27
         33        CONCAT                                           ~29     ~28, '%2Cwidth%3D560%2Cheight%3D560%22+alt%3D%22'
         34        FETCH_OBJ_R                                      ~30     !2, 'name'
         35        CONCAT                                           ~31     ~29, ~30
         36        CONCAT                                           ~32     ~31, '%22+class%3D%22preview%22+%2F%3E'
         37        ASSIGN_OP                                     8          !1, ~32
   24    38        ASSIGN_OP                                     8          !1, '%3Cselect+id%3D%22size-select%22+name%3D%22size%22%3E'
   26    39        FETCH_OBJ_R                                      ~35     !3, 'sizes'
         40        FETCH_OBJ_R                                      ~36     ~35, 'size'
         41      > FE_RESET_R                                       $37     ~36, ->51
         42    > > FE_FETCH_R                                               $37, !4, ->51
   27    43    >   FETCH_DIM_R                                      ~38     !4, 'id'
         44        CONCAT                                           ~39     '%3Coption+value%3D%22', ~38
         45        CONCAT                                           ~40     ~39, '%22%3E'
         46        FETCH_OBJ_R                                      ~41     !4, 'name'
         47        CONCAT                                           ~42     ~40, ~41
         48        CONCAT                                           ~43     ~42, '%3C%2Foption%3E'
         49        ASSIGN_OP                                     8          !1, ~43
   26    50      > JMP                                                      ->42
         51    >   FE_FREE                                                  $37
   30    52        ASSIGN_OP                                     8          !1, '%3C%2Fselect%3E'
   33    53        ASSIGN_OP                                     8          !1, '%3Cul+class%3D%22colors%22+name%3D%22color%22%3E'
   35    54        FETCH_OBJ_R                                      ~47     !2, 'product'
         55        FETCH_OBJ_R                                      ~48     ~47, 'restrictions'
         56        FETCH_OBJ_R                                      ~49     ~48, 'freeColorSelection'
         57        ASSIGN                                                   !5, ~49
   36    58        FETCH_OBJ_R                                      ~51     !2, 'product'
         59        FETCH_OBJ_R                                      ~52     ~51, 'appearance'
         60        FETCH_DIM_R                                      ~53     ~52, 'id'
         61        ASSIGN                                                   !6, ~53
   38    62        FETCH_OBJ_R                                      ~55     !3, 'appearances'
         63        FETCH_OBJ_R                                      ~56     ~55, 'appearance'
         64      > FE_RESET_R                                       $57     ~56, ->123
         65    > > FE_FETCH_R                                               $57, !7, ->123
   40    66    >   FETCH_DIM_R                                      ~58     !7, 'id'
         67        CAST                                          4  ~59     !6
         68        IS_EQUAL                                         ~60     ~58, ~59
         69      > JMPZ_EX                                          ~60     ~60, ->72
         70    >   IS_EQUAL                                         ~61     !5, 'false'
         71        BOOL                                             ~60     ~61
         72    > > JMPZ                                                     ~60, ->97
   41    73    >   FETCH_DIM_R                                      ~62     !7, 'id'
         74        CONCAT                                           ~63     '%3Cli+value%3D%22', ~62
         75        CONCAT                                           ~64     ~63, '%22%3E'
   42    76        CONCAT                                           ~65     ~64, '%3Ca+href%3D%22javascript%3Avoid%280%29%22+target%3D%22%22+title%3D%22'
         77        FETCH_OBJ_R                                      ~66     !7, 'name'
         78        CONCAT                                           ~67     ~65, ~66
         79        CONCAT                                           ~68     ~67, '%22%3E'
   43    80        CONCAT                                           ~69     ~68, '%3Cimg+src%3D%22'
         81        FETCH_OBJ_R                                      ~70     !7, 'resources'
         82        FETCH_OBJ_R                                      ~71     ~70, 'resource'
         83        INIT_METHOD_CALL                                         ~71, 'attributes'
         84        SEND_VAL_EX                                              'xlink'
         85        SEND_VAL_EX                                              <true>
         86        DO_FCALL                                      0  $72     
         87        CONCAT                                           ~73     ~69, $72
         88        CONCAT                                           ~74     ~73, '%22+alt%3D%22'
   44    89        FETCH_OBJ_R                                      ~75     !7, 'name'
         90        CONCAT                                           ~76     ~74, ~75
         91        CONCAT                                           ~77     ~76, '%22+name%3D%22'
         92        FETCH_OBJ_R                                      ~78     !7, 'name'
         93        CONCAT                                           ~79     ~77, ~78
         94        CONCAT                                           ~80     ~79, '%22+%2F%3E%0A%09%09%09%09%09%09%3C%2Fa%3E%0A%09%09%09%09%09%3C%2Fli%3E'
         95        ASSIGN_OP                                     8          !1, ~80
   47    96      > JMP                                                      ->123
   51    97    >   IS_EQUAL                                                 !5, 'true'
         98      > JMPZ                                                     ~82, ->122
   52    99    >   FETCH_DIM_R                                      ~83     !7, 'id'
        100        CONCAT                                           ~84     '%3Cli+value%3D%22', ~83
        101        CONCAT                                           ~85     ~84, '%22%3E'
   53   102        CONCAT                                           ~86     ~85, '%3Ca+href%3D%22javascript%3Avoid%280%29%22+target%3D%22%22+title%3D%22'
        103        FETCH_OBJ_R                                      ~87     !7, 'name'
        104        CONCAT                                           ~88     ~86, ~87
        105        CONCAT                                           ~89     ~88, '%22%3E'
   54   106        CONCAT                                           ~90     ~89, '%3Cimg+src%3D%22'
        107        FETCH_OBJ_R                                      ~91     !7, 'resources'
        108        FETCH_OBJ_R                                      ~92     ~91, 'resource'
        109        INIT_METHOD_CALL                                         ~92, 'attributes'
        110        SEND_VAL_EX                                              'xlink'
        111        SEND_VAL_EX                                              <true>
        112        DO_FCALL                                      0  $93     
        113        CONCAT                                           ~94     ~90, $93
        114        CONCAT                                           ~95     ~94, '%22+alt%3D%22'
   55   115        FETCH_OBJ_R                                      ~96     !7, 'name'
        116        CONCAT                                           ~97     ~95, ~96
        117        CONCAT                                           ~98     ~97, '%22+name%3D%22'
        118        FETCH_OBJ_R                                      ~99     !7, 'name'
        119        CONCAT                                           ~100    ~98, ~99
        120        CONCAT                                           ~101    ~100, '%22+%2F%3E%0A%09%09%09%09%09%09%3C%2Fa%3E%0A%09%09%09%09%09%3C%2Fli%3E+'
        121        ASSIGN_OP                                     8          !1, ~101
   38   122    > > JMP                                                      ->65
        123    >   FE_FREE                                                  $57
   61   124        ASSIGN_OP                                     8          !1, '%3C%2Ful%3E'
   64   125        ASSIGN_OP                                     8          !1, 'quantity%3A+%3Cinput+type%3D%22text%22+value%3D%221%22+maxlenght%3D%222%22+id%3D%22quantity%22+size%3D%221%22+name%3D%22quantity%22%3E%0A%09%3Cbr+%2F%3E%3Cbr+%2F%3E'
   68   126        FETCH_OBJ_R                                      ~105    !2, 'price'
        127        FETCH_OBJ_R                                      ~106    ~105, 'vatExcluded'
        128        CONCAT                                           ~107    'price%3A+%3Cb%3E%24', ~106
        129        CONCAT                                           ~108    ~107, '%3C%2Fb%3E'
        130        ASSIGN_OP                                     8          !1, ~108
   72   131        FETCH_OBJ_R                                      ~110    !2, 'product'
        132        FETCH_OBJ_R                                      ~111    ~110, 'appearance'
        133        FETCH_DIM_R                                      ~112    ~111, 'id'
        134        CONCAT                                           ~113    '%3Cinput+type%3D%22hidden%22+value%3D%22', ~112
        135        CONCAT                                           ~114    ~113, '%22+id%3D%22appearance_'
        136        FETCH_DIM_R                                      ~115    !2, 'id'
        137        CONCAT                                           ~116    ~114, ~115
        138        CONCAT                                           ~117    ~116, '%22+name%3D%22appearance%22+%2F%3E'
        139        ASSIGN_OP                                     8          !1, ~117
   74   140        FETCH_DIM_R                                      ~119    !2, 'id'
        141        CONCAT                                           ~120    '%3Cinput+type%3D%22hidden%22+value%3D%22', ~119
        142        CONCAT                                           ~121    ~120, '%22+id%3D%22article_'
        143        FETCH_DIM_R                                      ~122    !2, 'id'
        144        CONCAT                                           ~123    ~121, ~122
        145        CONCAT                                           ~124    ~123, '%22+name%3D%22article%22+%2F%3E'
        146        ASSIGN_OP                                     8          !1, ~124
   76   147        ASSIGN_OP                                     8          !1, '%3Cinput+type%3D%22submit%22+name%3D%22submit%22+value%3D%22Add+to+basket%22+style%3D%22float%3Aright%22+%2F%3E%3C%2Fform%3E%3C%2Fli%3E'
   10   148    > > JMP                                                      ->7
        149    >   FE_FREE                                                  $12
   81   150        ASSIGN_OP                                     8          !1, '%3C%2Fdiv%3E'
   83   151      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.91 ms | 1412 KiB | 15 Q