3v4l.org

run code in 300+ PHP versions simultaneously
<?php $requestResult = <<<EOT { "name": "Benjamin Clementine", "mbid_id": "578e5d1c-be21-4158-b147-30aad67f207d", "albums": { "68e65535-f133-408d-93dd-205e9555eaa5": { "albumcover": [ { "id": "172070", "url": "http://assets.fanart.tv/fanart/music/578e5d1c-be21-4158-b147-30aad67f207d/albumcover/at-least-for-now-55b74dfa59411.jpg", "likes": "0" } ] } } } EOT; $decodedResult = json_decode($requestResult, true); if (count($decodedResult['albums']) < 1) { die('No albums in result'); } $firstAlbum = reset($decodedResult['albums']); // get first element in albums array if (!isset($firstAlbum['albumcover']) || count($firstAlbum['albumcover']) < 0) { die('No album covers in result for first album'); } echo $firstAlbum['albumcover'][0]['url'];
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 11
Branch analysis from position: 10
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 47) Position 1 = 19, Position 2 = 23
Branch analysis from position: 19
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 25
Branch analysis from position: 24
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 23
filename:       /in/NFC8N
function name:  (null)
number of ops:  30
compiled vars:  !0 = $requestResult, !1 = $decodedResult, !2 = $firstAlbum
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%7B%0A++++%22name%22%3A+%22Benjamin+Clementine%22%2C%0A++++%22mbid_id%22%3A+%22578e5d1c-be21-4158-b147-30aad67f207d%22%2C%0A++++%22albums%22%3A+%7B%0A++++++++%2268e65535-f133-408d-93dd-205e9555eaa5%22%3A+%7B%0A++++++++++++%22albumcover%22%3A+%5B%0A++++++++++++++++%7B%0A++++++++++++++++++++%22id%22%3A+%22172070%22%2C%0A++++++++++++++++++++%22url%22%3A+%22http%3A%2F%2Fassets.fanart.tv%2Ffanart%2Fmusic%2F578e5d1c-be21-4158-b147-30aad67f207d%2Falbumcover%2Fat-least-for-now-55b74dfa59411.jpg%22%2C%0A++++++++++++++++++++%22likes%22%3A+%220%22%0A++++++++++++++++%7D%0A++++++++++++%5D%0A++++++++%7D%0A++++%7D%0A%7D'
   21     1        INIT_FCALL                                               'json_decode'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 <true>
          4        DO_ICALL                                         $4      
          5        ASSIGN                                                   !1, $4
   23     6        FETCH_DIM_R                                      ~6      !1, 'albums'
          7        COUNT                                            ~7      ~6
          8        IS_SMALLER                                               ~7, 1
          9      > JMPZ                                                     ~8, ->11
   24    10    > > EXIT                                                     'No+albums+in+result'
   27    11    >   INIT_FCALL                                               'reset'
         12        FETCH_DIM_W                                      $9      !1, 'albums'
         13        SEND_REF                                                 $9
         14        DO_ICALL                                         $10     
         15        ASSIGN                                                   !2, $10
   29    16        ISSET_ISEMPTY_DIM_OBJ                         0  ~12     !2, 'albumcover'
         17        BOOL_NOT                                         ~13     ~12
         18      > JMPNZ_EX                                         ~13     ~13, ->23
         19    >   FETCH_DIM_R                                      ~14     !2, 'albumcover'
         20        COUNT                                            ~15     ~14
         21        IS_SMALLER                                       ~16     ~15, 0
         22        BOOL                                             ~13     ~16
         23    > > JMPZ                                                     ~13, ->25
   30    24    > > EXIT                                                     'No+album+covers+in+result+for+first+album'
   33    25    >   FETCH_DIM_R                                      ~17     !2, 'albumcover'
         26        FETCH_DIM_R                                      ~18     ~17, 0
         27        FETCH_DIM_R                                      ~19     ~18, 'url'
         28        ECHO                                                     ~19
         29      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.3 ms | 1396 KiB | 17 Q