3v4l.org

run code in 500+ PHP versions simultaneously
<?php $str = <<<XML <?xml version="1.0" encoding="UTF-8" ?> <root> <ARTICLEDATA> <ARTICLE> <A_PRICEDATA> <A_PRICE channel="1" currency="EUR"> <A_VK>34.95</A_VK> </A_PRICE> </A_PRICEDATA> <A_MEDIADATA> <A_MEDIA type="image" origname="9990.jpg">https://1.jpg</A_MEDIA> <A_MEDIA type="image" origname="11260.jpg">https://2.jpg</A_MEDIA> <A_MEDIA type="image" origname="12294.jpg">https://3.jpg</A_MEDIA> <A_MEDIA type="image" origname="13306.jpg">https://4.jpg</A_MEDIA> <A_MEDIA type="image" origname="13012.jpg">https://5.jpg</A_MEDIA> <A_MEDIA type="image" origname="13760.jpg">https://6.jpg</A_MEDIA> </A_MEDIADATA> </ARTICLE> <ARTICLE> <A_PRICEDATA> <A_PRICE channel="1" currency="EUR"> <A_VK>19.95</A_VK> </A_PRICE> </A_PRICEDATA> <A_MEDIADATA> <A_MEDIA type="image" origname="9990.jpg">https://10.jpg</A_MEDIA> <A_MEDIA type="image" origname="11260.jpg">https://2.jpg</A_MEDIA> <A_MEDIA type="image" origname="12294.jpg">https://3.jpg</A_MEDIA> <A_MEDIA type="image" origname="13306.jpg">https://4.jpg</A_MEDIA> <A_MEDIA type="image" origname="13012.jpg">https://5.jpg</A_MEDIA> <A_MEDIA type="image" origname="13760.jpg">https://6.jpg</A_MEDIA> </A_MEDIADATA> </ARTICLE> </ARTICLEDATA> </root> XML; $xml = simplexml_load_string($str); $articles = ""; foreach ($xml->ARTICLEDATA->ARTICLE as $article) { $price = (string)$article->A_PRICEDATA->A_PRICE->A_VK; $firstImage = (string)$article->A_MEDIADATA->A_MEDIA[0]; $produkt = "Product 1"; $articles .= '<div class="photo"><img src="' . $firstImage . '" style="width: 120px margin:5px;"><div class="product-info mt__15"><h3 class="product-title pr fs__14 mg__0 fwm">' . $produkt . '</h3><span class="price">€' . $price . ' EUR</span></div></div>'; } echo $articles;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 29
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 29
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 29
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 29
filename:       /in/G5J6H
function name:  (null)
number of ops:  32
compiled vars:  !0 = $str, !1 = $xml, !2 = $articles, !3 = $article, !4 = $price, !5 = $firstImage, !6 = $produkt
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, '%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22+%3F%3E%0A%3Croot%3E%0A++++%3CARTICLEDATA%3E%0A++++++++%3CARTICLE%3E%0A++++++++%3CA_PRICEDATA%3E%0A++++++++++++%3CA_PRICE+channel%3D%221%22+currency%3D%22EUR%22%3E%0A++++++++++++++++%3CA_VK%3E34.95%3C%2FA_VK%3E%0A++++++++++++%3C%2FA_PRICE%3E%0A++++++++%3C%2FA_PRICEDATA%3E%0A++++++++%3CA_MEDIADATA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%229990.jpg%22%3Ehttps%3A%2F%2F1.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2211260.jpg%22%3Ehttps%3A%2F%2F2.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2212294.jpg%22%3Ehttps%3A%2F%2F3.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2213306.jpg%22%3Ehttps%3A%2F%2F4.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2213012.jpg%22%3Ehttps%3A%2F%2F5.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2213760.jpg%22%3Ehttps%3A%2F%2F6.jpg%3C%2FA_MEDIA%3E%0A++++++++%3C%2FA_MEDIADATA%3E%0A++++++++%3C%2FARTICLE%3E%0A++++++++%3CARTICLE%3E%0A++++++++%3CA_PRICEDATA%3E%0A++++++++++++%3CA_PRICE+channel%3D%221%22+currency%3D%22EUR%22%3E%0A++++++++++++++++%3CA_VK%3E19.95%3C%2FA_VK%3E%0A++++++++++++%3C%2FA_PRICE%3E%0A++++++++%3C%2FA_PRICEDATA%3E%0A++++++++%3CA_MEDIADATA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%229990.jpg%22%3Ehttps%3A%2F%2F10.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2211260.jpg%22%3Ehttps%3A%2F%2F2.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2212294.jpg%22%3Ehttps%3A%2F%2F3.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2213306.jpg%22%3Ehttps%3A%2F%2F4.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2213012.jpg%22%3Ehttps%3A%2F%2F5.jpg%3C%2FA_MEDIA%3E%0A++++++++++++%3CA_MEDIA+type%3D%22image%22+origname%3D%2213760.jpg%22%3Ehttps%3A%2F%2F6.jpg%3C%2FA_MEDIA%3E%0A++++++++%3C%2FA_MEDIADATA%3E%0A++++++++%3C%2FARTICLE%3E%0A++++%3C%2FARTICLEDATA%3E%0A%3C%2Froot%3E'
   41     1        INIT_FCALL                                                   'simplexml_load_string'
          2        SEND_VAR                                                     !0
          3        DO_ICALL                                             $8      
          4        ASSIGN                                                       !1, $8
   42     5        ASSIGN                                                       !2, ''
   44     6        FETCH_OBJ_R                                          ~11     !1, 'ARTICLEDATA'
          7        FETCH_OBJ_R                                          ~12     ~11, 'ARTICLE'
          8      > FE_RESET_R                                           $13     ~12, ->29
          9    > > FE_FETCH_R                                                   $13, !3, ->29
   45    10    >   FETCH_OBJ_R                                          ~14     !3, 'A_PRICEDATA'
         11        FETCH_OBJ_R                                          ~15     ~14, 'A_PRICE'
         12        FETCH_OBJ_R                                          ~16     ~15, 'A_VK'
         13        CAST                                              6  ~17     ~16
         14        ASSIGN                                                       !4, ~17
   46    15        FETCH_OBJ_R                                          ~19     !3, 'A_MEDIADATA'
         16        FETCH_OBJ_R                                          ~20     ~19, 'A_MEDIA'
         17        FETCH_DIM_R                                          ~21     ~20, 0
         18        CAST                                              6  ~22     ~21
         19        ASSIGN                                                       !5, ~22
   47    20        ASSIGN                                                       !6, 'Product+1'
   48    21        CONCAT                                               ~25     '%3Cdiv+class%3D%22photo%22%3E%3Cimg+src%3D%22', !5
         22        CONCAT                                               ~26     ~25, '%22+style%3D%22width%3A+120px+margin%3A5px%3B%22%3E%3Cdiv+class%3D%22product-info+mt__15%22%3E%3Ch3+class%3D%22product-title+pr+fs__14+mg__0+fwm%22%3E'
         23        CONCAT                                               ~27     ~26, !6
         24        CONCAT                                               ~28     ~27, '%3C%2Fh3%3E%3Cspan+class%3D%22price%22%3E%E2%82%AC'
         25        CONCAT                                               ~29     ~28, !4
         26        CONCAT                                               ~30     ~29, '+EUR%3C%2Fspan%3E%3C%2Fdiv%3E%3C%2Fdiv%3E'
         27        ASSIGN_OP                                         8          !2, ~30
   44    28      > JMP                                                          ->9
         29    >   FE_FREE                                                      $13
   51    30        ECHO                                                         !2
   52    31      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
172.96 ms | 2126 KiB | 14 Q