3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '{ "result": { "LabelNumber": "oa0021148274", "Scans": [{ "Type": "P", "Courier": "020", "Description": "Picked up", "Date": "06/11/2014 18:58:14", "Name": "Cape Town", "Franchise": "CPT", "Status": "PPP", "StatusDescription": "Your parcel was picked up", "CompanyInfo": { "contactName": "", "company": "", "address1": "", "address2": "", "address3": "", "address4": "", "address5": "", "address6": "", "address7": "", "address8": "", "comment": "" }, "UploadDate": "07/11/2014", "Signature": "" }, { "Type": "T", "Courier": "020", "Description": "Pretoria", "Date": "06/11/2014 19:04:30", "Name": "Cape Town", "Franchise": "CPT", "Status": "PRY", "StatusDescription": "Your parcel is currently in transit between our depots.", "CompanyInfo": { "contactName": "", "company": "", "address1": "", "address2": "", "address3": "", "address4": "", "address5": "", "address6": "", "address7": "", "address8": "", "comment": "" }, "UploadDate": "07/11/2014", "Signature": "" }, { "Type": "T", "Courier": "011", "Description": "Pretoria Depot Scan ", "Date": "10/11/2014 06:56:34", "Name": "Pretoria", "Franchise": "PRY", "Status": "O01", "StatusDescription": "Your parcel has been received in the Pretoria depot.", "CompanyInfo": { "contactName": "", "company": "", "address1": "", "address2": "", "address3": "", "address4": "", "address5": "", "address6": "", "address7": "", "address8": "", "comment": "" }, "UploadDate": "10/11/2014", "Signature": "" }, { "Type": "T", "Courier": "013", "Description": "Onboard", "Date": "10/11/2014 07:51:19", "Name": "Pretoria", "Franchise": "PRY", "Status": "ONB", "StatusDescription": "Onboard - the parcel is onboard the Courier vehicle.", "CompanyInfo": { "contactName": "", "company": "Home Delivery", "address1": "44 suikerbos", "address2": "lydiana", "address3": "o", "address4": "", "address5": "", "address6": "", "address7": "", "address8": "", "comment": "" }, "UploadDate": "10/11/2014", "Signature": "" }, { "Type": "D", "Courier": "013", "Description": "Signature Obtained", "Date": "10/11/2014 09:47:05", "Name": "Pretoria", "Franchise": "PRY", "Status": "YES", "StatusDescription": "Signature Obtained - Your parcel has been delivered and signed for.", "CompanyInfo": { "contactName": "philimon", "company": "Home Delivery", "address1": "44 suikerbos", "address2": "lydiana", "address3": "o", "address4": "", "address5": "", "address6": "", "address7": "", "address8": "", "comment": "" }, "UploadDate": "10/11/2014", "Signature": "http://api.fastway.org/signatures/0312408478f58b8b1d685a148089960f.jpg" }], "Signature": "http://api.fastway.org/signatures/0312408478f58b8b1d685a148089960f.jpg", "DistributedTo": "Cape Town ", "DistributedDate": "8/08/2014", "Reference": "", "IsOnforward": "0" }, "generated_in": "155ms" }'; function array2xml($array, $xml = false){ if($xml === false){ $xml = new SimpleXMLElement('<result/>'); } foreach($array as $key => $value){ if(is_array($value)){ array2xml($value, $xml->addChild($key)); } else { $xml->addChild($key, $value); } } return $xml; } $data = array2xml(json_decode($json, true), false); var_dump($data);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/Dr6Q5
function name:  (null)
number of ops:  14
compiled vars:  !0 = $json, !1 = $data
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%7B%0A%09%22result%22%3A+%7B%0A%09%09%22LabelNumber%22%3A+%22oa0021148274%22%2C%0A%09%09%22Scans%22%3A+%5B%7B%0A%09%09%09%22Type%22%3A+%22P%22%2C%0A%09%09%09%22Courier%22%3A+%22020%22%2C%0A%09%09%09%22Description%22%3A+%22Picked+up%22%2C%0A%09%09%09%22Date%22%3A+%2206%2F11%2F2014+18%3A58%3A14%22%2C%0A%09%09%09%22Name%22%3A+%22Cape+Town%22%2C%0A%09%09%09%22Franchise%22%3A+%22CPT%22%2C%0A%09%09%09%22Status%22%3A+%22PPP%22%2C%0A%09%09%09%22StatusDescription%22%3A+%22Your+parcel+was+picked+up%22%2C%0A%09%09%09%22CompanyInfo%22%3A+%7B%0A%09%09%09%09%22contactName%22%3A+%22%22%2C%0A%09%09%09%09%22company%22%3A+%22%22%2C%0A%09%09%09%09%22address1%22%3A+%22%22%2C%0A%09%09%09%09%22address2%22%3A+%22%22%2C%0A%09%09%09%09%22address3%22%3A+%22%22%2C%0A%09%09%09%09%22address4%22%3A+%22%22%2C%0A%09%09%09%09%22address5%22%3A+%22%22%2C%0A%09%09%09%09%22address6%22%3A+%22%22%2C%0A%09%09%09%09%22address7%22%3A+%22%22%2C%0A%09%09%09%09%22address8%22%3A+%22%22%2C%0A%09%09%09%09%22comment%22%3A+%22%22%0A%09%09%09%7D%2C%0A%09%09%09%22UploadDate%22%3A+%2207%2F11%2F2014%22%2C%0A%09%09%09%22Signature%22%3A+%22%22%0A%09%09%7D%2C+%7B%0A%09%09%09%22Type%22%3A+%22T%22%2C%0A%09%09%09%22Courier%22%3A+%22020%22%2C%0A%09%09%09%22Description%22%3A+%22Pretoria%22%2C%0A%09%09%09%22Date%22%3A+%2206%2F11%2F2014+19%3A04%3A30%22%2C%0A%09%09%09%22Name%22%3A+%22Cape+Town%22%2C%0A%09%09%09%22Franchise%22%3A+%22CPT%22%2C%0A%09%09%09%22Status%22%3A+%22PRY%22%2C%0A%09%09%09%22StatusDescription%22%3A+%22Your+parcel+is+currently+in+transit+between+our+depots.%22%2C%0A%09%09%09%22CompanyInfo%22%3A+%7B%0A%09%09%09%09%22contactName%22%3A+%22%22%2C%0A%09%09%09%09%22company%22%3A+%22%22%2C%0A%09%09%09%09%22address1%22%3A+%22%22%2C%0A%09%09%09%09%22address2%22%3A+%22%22%2C%0A%09%09%09%09%22address3%22%3A+%22%22%2C%0A%09%09%09%09%22address4%22%3A+%22%22%2C%0A%09%09%09%09%22address5%22%3A+%22%22%2C%0A%09%09%09%09%22address6%22%3A+%22%22%2C%0A%09%09%09%09%22address7%22%3A+%22%22%2C%0A%09%09%09%09%22address8%22%3A+%22%22%2C%0A%09%09%09%09%22comment%22%3A+%22%22%0A%09%09%09%7D%2C%0A%09%09%09%22UploadDate%22%3A+%2207%2F11%2F2014%22%2C%0A%09%09%09%22Signature%22%3A+%22%22%0A%09%09%7D%2C+%7B%0A%09%09%09%22Type%22%3A+%22T%22%2C%0A%09%09%09%22Courier%22%3A+%22011%22%2C%0A%09%09%09%22Description%22%3A+%22Pretoria+Depot+Scan+++++++++++%22%2C%0A%09%09%09%22Date%22%3A+%2210%2F11%2F2014+06%3A56%3A34%22%2C%0A%09%09%09%22Name%22%3A+%22Pretoria%22%2C%0A%09%09%09%22Franchise%22%3A+%22PRY%22%2C%0A%09%09%09%22Status%22%3A+%22O01%22%2C%0A%09%09%09%22StatusDescription%22%3A+%22Your+parcel+has+been+received+in+the+Pretoria+depot.%22%2C%0A%09%09%09%22CompanyInfo%22%3A+%7B%0A%09%09%09%09%22contactName%22%3A+%22%22%2C%0A%09%09%09%09%22company%22%3A+%22%22%2C%0A%09%09%09%09%22address1%22%3A+%22%22%2C%0A%09%09%09%09%22address2%22%3A+%22%22%2C%0A%09%09%09%09%22address3%22%3A+%22%22%2C%0A%09%09%09%09%22address4%22%3A+%22%22%2C%0A%09%09%09%09%22address5%22%3A+%22%22%2C%0A%09%09%09%09%22address6%22%3A+%22%22%2C%0A%09%09%09%09%22address7%22%3A+%22%22%2C%0A%09%09%09%09%22address8%22%3A+%22%22%2C%0A%09%09%09%09%22comment%22%3A+%22%22%0A%09%09%09%7D%2C%0A%09%09%09%22UploadDate%22%3A+%2210%2F11%2F2014%22%2C%0A%09%09%09%22Signature%22%3A+%22%22%0A%09%09%7D%2C+%7B%0A%09%09%09%22Type%22%3A+%22T%22%2C%0A%09%09%09%22Courier%22%3A+%22013%22%2C%0A%09%09%09%22Description%22%3A+%22Onboard%22%2C%0A%09%09%09%22Date%22%3A+%2210%2F11%2F2014+07%3A51%3A19%22%2C%0A%09%09%09%22Name%22%3A+%22Pretoria%22%2C%0A%09%09%09%22Franchise%22%3A+%22PRY%22%2C%0A%09%09%09%22Status%22%3A+%22ONB%22%2C%0A%09%09%09%22StatusDescription%22%3A+%22Onboard+-+the+parcel+is+onboard+the+Courier+vehicle.%22%2C%0A%09%09%09%22CompanyInfo%22%3A+%7B%0A%09%09%09%09%22contactName%22%3A+%22%22%2C%0A%09%09%09%09%22company%22%3A+%22Home+Delivery%22%2C%0A%09%09%09%09%22address1%22%3A+%2244+suikerbos%22%2C%0A%09%09%09%09%22address2%22%3A+%22lydiana%22%2C%0A%09%09%09%09%22address3%22%3A+%22o%22%2C%0A%09%09%09%09%22address4%22%3A+%22%22%2C%0A%09%09%09%09%22address5%22%3A+%22%22%2C%0A%09%09%09%09%22address6%22%3A+%22%22%2C%0A%09%09%09%09%22address7%22%3A+%22%22%2C%0A%09%09%09%09%22address8%22%3A+%22%22%2C%0A%09%09%09%09%22comment%22%3A+%22%22%0A%09%09%09%7D%2C%0A%09%09%09%22UploadDate%22%3A+%2210%2F11%2F2014%22%2C%0A%09%09%09%22Signature%22%3A+%22%22%0A%09%09%7D%2C+%7B%0A%09%09%09%22Type%22%3A+%22D%22%2C%0A%09%09%09%22Courier%22%3A+%22013%22%2C%0A%09%09%09%22Description%22%3A+%22Signature+Obtained%22%2C%0A%09%09%09%22Date%22%3A+%2210%2F11%2F2014+09%3A47%3A05%22%2C%0A%09%09%09%22Name%22%3A+%22Pretoria%22%2C%0A%09%09%09%22Franchise%22%3A+%22PRY%22%2C%0A%09%09%09%22Status%22%3A+%22YES%22%2C%0A%09%09%09%22StatusDescription%22%3A+%22Signature+Obtained+-+Your+parcel+has+been+delivered+and+signed+for.%22%2C%0A%09%09%09%22CompanyInfo%22%3A+%7B%0A%09%09%09%09%22contactName%22%3A+%22philimon%22%2C%0A%09%09%09%09%22company%22%3A+%22Home+Delivery%22%2C%0A%09%09%09%09%22address1%22%3A+%2244+suikerbos%22%2C%0A%09%09%09%09%22address2%22%3A+%22lydiana%22%2C%0A%09%09%09%09%22address3%22%3A+%22o%22%2C%0A%09%09%09%09%22address4%22%3A+%22%22%2C%0A%09%09%09%09%22address5%22%3A+%22%22%2C%0A%09%09%09%09%22address6%22%3A+%22%22%2C%0A%09%09%09%09%22address7%22%3A+%22%22%2C%0A%09%09%09%09%22address8%22%3A+%22%22%2C%0A%09%09%09%09%22comment%22%3A+%22%22%0A%09%09%09%7D%2C%0A%09%09%09%22UploadDate%22%3A+%2210%2F11%2F2014%22%2C%0A%09%09%09%22Signature%22%3A+%22http%3A%2F%2Fapi.fastway.org%2Fsignatures%2F0312408478f58b8b1d685a148089960f.jpg%22%0A%09%09%7D%5D%2C%0A%09%09%22Signature%22%3A+%22http%3A%2F%2Fapi.fastway.org%2Fsignatures%2F0312408478f58b8b1d685a148089960f.jpg%22%2C%0A%09%09%22DistributedTo%22%3A+%22Cape+Town+++++++++++++++++++++++++++++++++++++++++++++++++++%22%2C%0A%09%09%22DistributedDate%22%3A+%228%2F08%2F2014%22%2C%0A%09%09%22Reference%22%3A+%22%22%2C%0A%09%09%22IsOnforward%22%3A+%220%22%0A%09%7D%2C%0A%09%22generated_in%22%3A+%22155ms%22%0A%7D'
  152     1        INIT_FCALL                                               'array2xml'
          2        INIT_FCALL                                               'json_decode'
          3        SEND_VAR                                                 !0
          4        SEND_VAL                                                 <true>
          5        DO_ICALL                                         $3      
          6        SEND_VAR                                                 $3
          7        SEND_VAL                                                 <false>
          8        DO_FCALL                                      0  $4      
          9        ASSIGN                                                   !1, $4
  153    10        INIT_FCALL                                               'var_dump'
         11        SEND_VAR                                                 !1
         12        DO_ICALL                                                 
         13      > RETURN                                                   1

Function array2xml:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 8
Branch analysis from position: 4
2 jumps found. (Code = 77) Position 1 = 9, Position 2 = 26
Branch analysis from position: 9
2 jumps found. (Code = 78) Position 1 = 10, Position 2 = 26
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 21
Branch analysis from position: 13
1 jumps found. (Code = 42) Position 1 = 25
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 9
Branch analysis from position: 9
Branch analysis from position: 26
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 26
Branch analysis from position: 8
filename:       /in/Dr6Q5
function name:  array2xml
number of ops:  29
compiled vars:  !0 = $array, !1 = $xml, !2 = $value, !3 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  136     0  E >   RECV                                             !0      
          1        RECV_INIT                                        !1      <false>
  138     2        TYPE_CHECK                                    4          !1
          3      > JMPZ                                                     ~4, ->8
  139     4    >   NEW                                              $5      'SimpleXMLElement'
          5        SEND_VAL_EX                                              '%3Cresult%2F%3E'
          6        DO_FCALL                                      0          
          7        ASSIGN                                                   !1, $5
  141     8    > > FE_RESET_R                                       $8      !0, ->26
          9    > > FE_FETCH_R                                       ~9      $8, !2, ->26
         10    >   ASSIGN                                                   !3, ~9
  142    11        TYPE_CHECK                                  128          !2
         12      > JMPZ                                                     ~11, ->21
  143    13    >   INIT_FCALL_BY_NAME                                       'array2xml'
         14        SEND_VAR_EX                                              !2
         15        INIT_METHOD_CALL                                         !1, 'addChild'
         16        SEND_VAR_EX                                              !3
         17        DO_FCALL                                      0  $12     
         18        SEND_VAR_NO_REF_EX                                       $12
         19        DO_FCALL                                      0          
         20      > JMP                                                      ->25
  145    21    >   INIT_METHOD_CALL                                         !1, 'addChild'
         22        SEND_VAR_EX                                              !3
         23        SEND_VAR_EX                                              !2
         24        DO_FCALL                                      0          
  141    25    > > JMP                                                      ->9
         26    >   FE_FREE                                                  $8
  149    27      > RETURN                                                   !1
  150    28*     > RETURN                                                   null

End of function array2xml

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
180.14 ms | 1417 KiB | 18 Q