3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '{ "UniqueId": "PO3589472", "FareType": 2, "BookedBy": "Api ", "OrderBy": "Api ", "ClientBalance": 0, "Error": null, "Success": true, "TktTimeLimit": "2022-08-10T14:11:45", "Category": 21, "Status": 21, "RefundMethod": 1, "TravelItinerary": { "ItineraryInfo": { "ItineraryPricing": { "BaseFare": 8469250, "ServiceTax": 0, "TotalTax": 993000, "TotalFare": 9462250, "TotalCommission": 0, "Currency": "IRR" }, "CustomerInfoes": [ { "Customer": { "Gender": 0, "PassengerType": 1, "PassportNumber": "", "NationalId": "1829961233", "Nationality": "IR", "DateOfBirth": "1996-07-08T00:00:00", "PassportExpireDate": "0001-01-01T00:00:00", "PassportIssueCountry": "IR", "PassportIssueDate": "2022-08-10T00:00:00", "PaxName": { "PassengerFirstName": "MAJID", "PassengerMiddleName": null, "PassengerLastName": "MAJIDIFAR", "PassengerTitle": 0 } }, "ETickets": "8151405444745", "ETicketNumbers": [ { "ETicketNumber": "8151405444745", "EticketStatus": 1, "IsRefunded": false, "DateOfIssue": "2022-08-10T13:58:47", "AirlinePnr": "TXNXM", "TotalRefund": 0 } ] } ], "ReservationItems": [ { "AirEquipmentType": "737", "AirlinePnr": "TXNXM", "ArrivalAirportLocationCode": "ABD", "ArrivalDateTime": "2022-08-17T23:25:00", "ArrivalTerminal": "", "Baggage": "20KG", "DepartureAirportLocationCode": "THR", "DepartureDateTime": "2022-08-17T22:05:00", "DepartureTerminal": "Terminal 4", "FlightNumber": "3750", "JourneyDuration": "01:20", "JourneyDurationPerMinute": 0, "MarketingAirlineCode": "EP", "OperatingAirlineCode": "EP", "ResBookDesigCode": "Y", "StopQuantity": 0, "IsCharter": false, "TechnicalStops": [], "IsReturn": false, "CabinClassCode": 1 } ], "TripDetailPtcFareBreakdowns": [ { "PassengerTypeQuantity": { "PassengerType": 1, "Quantity": 1 }, "TripDetailPassengerFare": { "BaseFare": 8469250, "ServiceTax": 0, "Tax": 993000, "TotalFare": 9462250, "Commission": 0, "Currency": "IRR" } } ], "PhoneNumber": "09359276735", "Email": "info@iran-tech.com", "ItineraryFareFamily": null }, "BookingNotes": [], "Services": [] }, "ValidatingAirlineCode": "EP", "DirectionInd": 1, "OnlineCheckIn": false, "AirRemark": [], "curl_error": false}'; $array = json_decode($json, true); function array_filter_recursive(array $input): array { foreach ($input as &$value) { if (is_array($value)) { $value = array_filter_recursive($value); } } return array_filter($input, fn($v) => $v && $v !== 'Api '); } var_export(array_filter_recursive($array));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0131H
function name:  (null)
number of ops:  13
compiled vars:  !0 = $json, !1 = $array
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%7B%0A%22UniqueId%22%3A+%22PO3589472%22%2C%0A%22FareType%22%3A+2%2C%0A%22BookedBy%22%3A+%22Api+%22%2C%0A%22OrderBy%22%3A+%22Api+%22%2C%0A%22ClientBalance%22%3A+0%2C%0A%22Error%22%3A+null%2C%0A%22Success%22%3A+true%2C%0A%22TktTimeLimit%22%3A+%222022-08-10T14%3A11%3A45%22%2C%0A%22Category%22%3A+21%2C%0A%22Status%22%3A+21%2C%0A%22RefundMethod%22%3A+1%2C%0A%22TravelItinerary%22%3A+%7B%0A++++%22ItineraryInfo%22%3A+%7B%0A++++++++%22ItineraryPricing%22%3A+%7B%0A++++++++++++%22BaseFare%22%3A+8469250%2C%0A++++++++++++%22ServiceTax%22%3A+0%2C%0A++++++++++++%22TotalTax%22%3A+993000%2C%0A++++++++++++%22TotalFare%22%3A+9462250%2C%0A++++++++++++%22TotalCommission%22%3A+0%2C%0A++++++++++++%22Currency%22%3A+%22IRR%22%0A++++++++%7D%2C%0A++++++++%22CustomerInfoes%22%3A+%5B%0A++++++++++++%7B%0A++++++++++++++++%22Customer%22%3A+%7B%0A++++++++++++++++++++%22Gender%22%3A+0%2C%0A++++++++++++++++++++%22PassengerType%22%3A+1%2C%0A++++++++++++++++++++%22PassportNumber%22%3A+%22%22%2C%0A++++++++++++++++++++%22NationalId%22%3A+%221829961233%22%2C%0A++++++++++++++++++++%22Nationality%22%3A+%22IR%22%2C%0A++++++++++++++++++++%22DateOfBirth%22%3A+%221996-07-08T00%3A00%3A00%22%2C%0A++++++++++++++++++++%22PassportExpireDate%22%3A+%220001-01-01T00%3A00%3A00%22%2C%0A++++++++++++++++++++%22PassportIssueCountry%22%3A+%22IR%22%2C%0A++++++++++++++++++++%22PassportIssueDate%22%3A+%222022-08-10T00%3A00%3A00%22%2C%0A++++++++++++++++++++%22PaxName%22%3A+%7B%0A++++++++++++++++++++++++%22PassengerFirstName%22%3A+%22MAJID%22%2C%0A++++++++++++++++++++++++%22PassengerMiddleName%22%3A+null%2C%0A++++++++++++++++++++++++%22PassengerLastName%22%3A+%22MAJIDIFAR%22%2C%0A++++++++++++++++++++++++%22PassengerTitle%22%3A+0%0A++++++++++++++++++++%7D%0A++++++++++++++++%7D%2C%0A++++++++++++++++%22ETickets%22%3A+%228151405444745%22%2C%0A++++++++++++++++%22ETicketNumbers%22%3A+%5B%0A++++++++++++++++++++%7B%0A++++++++++++++++++++++++%22ETicketNumber%22%3A+%228151405444745%22%2C%0A++++++++++++++++++++++++%22EticketStatus%22%3A+1%2C%0A++++++++++++++++++++++++%22IsRefunded%22%3A+false%2C%0A++++++++++++++++++++++++%22DateOfIssue%22%3A+%222022-08-10T13%3A58%3A47%22%2C%0A++++++++++++++++++++++++%22AirlinePnr%22%3A+%22TXNXM%22%2C%0A++++++++++++++++++++++++%22TotalRefund%22%3A+0%0A++++++++++++++++++++%7D%0A++++++++++++++++%5D%0A++++++++++++%7D%0A++++++++%5D%2C%0A++++++++%22ReservationItems%22%3A+%5B%0A++++++++++++%7B%0A++++++++++++++++%22AirEquipmentType%22%3A+%22737%22%2C%0A++++++++++++++++%22AirlinePnr%22%3A+%22TXNXM%22%2C%0A++++++++++++++++%22ArrivalAirportLocationCode%22%3A+%22ABD%22%2C%0A++++++++++++++++%22ArrivalDateTime%22%3A+%222022-08-17T23%3A25%3A00%22%2C%0A++++++++++++++++%22ArrivalTerminal%22%3A+%22%22%2C%0A++++++++++++++++%22Baggage%22%3A+%2220KG%22%2C%0A++++++++++++++++%22DepartureAirportLocationCode%22%3A+%22THR%22%2C%0A++++++++++++++++%22DepartureDateTime%22%3A+%222022-08-17T22%3A05%3A00%22%2C%0A++++++++++++++++%22DepartureTerminal%22%3A+%22Terminal+4%22%2C%0A++++++++++++++++%22FlightNumber%22%3A+%223750%22%2C%0A++++++++++++++++%22JourneyDuration%22%3A+%2201%3A20%22%2C%0A++++++++++++++++%22JourneyDurationPerMinute%22%3A+0%2C%0A++++++++++++++++%22MarketingAirlineCode%22%3A+%22EP%22%2C%0A++++++++++++++++%22OperatingAirlineCode%22%3A+%22EP%22%2C%0A++++++++++++++++%22ResBookDesigCode%22%3A+%22Y%22%2C%0A++++++++++++++++%22StopQuantity%22%3A+0%2C%0A++++++++++++++++%22IsCharter%22%3A+false%2C%0A++++++++++++++++%22TechnicalStops%22%3A+%5B%5D%2C%0A++++++++++++++++%22IsReturn%22%3A+false%2C%0A++++++++++++++++%22CabinClassCode%22%3A+1%0A++++++++++++%7D%0A++++++++%5D%2C%0A++++++++%22TripDetailPtcFareBreakdowns%22%3A+%5B%0A++++++++++++%7B%0A++++++++++++++++%22PassengerTypeQuantity%22%3A+%7B%0A++++++++++++++++++++%22PassengerType%22%3A+1%2C%0A++++++++++++++++++++%22Quantity%22%3A+1%0A++++++++++++++++%7D%2C%0A++++++++++++++++%22TripDetailPassengerFare%22%3A+%7B%0A++++++++++++++++++++%22BaseFare%22%3A+8469250%2C%0A++++++++++++++++++++%22ServiceTax%22%3A+0%2C%0A++++++++++++++++++++%22Tax%22%3A+993000%2C%0A++++++++++++++++++++%22TotalFare%22%3A+9462250%2C%0A++++++++++++++++++++%22Commission%22%3A+0%2C%0A++++++++++++++++++++%22Currency%22%3A+%22IRR%22%0A++++++++++++++++%7D%0A++++++++++++%7D%0A++++++++%5D%2C%0A++++++++%22PhoneNumber%22%3A+%2209359276735%22%2C%0A++++++++%22Email%22%3A+%22info%40iran-tech.com%22%2C%0A++++++++%22ItineraryFareFamily%22%3A+null%0A++++%7D%2C%0A++++%22BookingNotes%22%3A+%5B%5D%2C%0A++++%22Services%22%3A+%5B%5D%0A%7D%2C%0A%22ValidatingAirlineCode%22%3A+%22EP%22%2C%0A%22DirectionInd%22%3A+1%2C%0A%22OnlineCheckIn%22%3A+false%2C%0A%22AirRemark%22%3A+%5B%5D%2C%0A%22curl_error%22%3A+false%7D'
  110     1        INIT_FCALL                                               'json_decode'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 <true>
          4        DO_ICALL                                         $3      
          5        ASSIGN                                                   !1, $3
  123     6        INIT_FCALL                                               'var_export'
          7        INIT_FCALL                                               'array_filter_recursive'
          8        SEND_VAR                                                 !1
          9        DO_FCALL                                      0  $5      
         10        SEND_VAR                                                 $5
         11        DO_ICALL                                                 
         12      > RETURN                                                   1

Function array_filter_recursive:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 125) Position 1 = 2, Position 2 = 10
Branch analysis from position: 2
2 jumps found. (Code = 126) Position 1 = 3, Position 2 = 10
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 9
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 2
Branch analysis from position: 2
Branch analysis from position: 9
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
filename:       /in/0131H
function name:  array_filter_recursive
number of ops:  20
compiled vars:  !0 = $input, !1 = $value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  112     0  E >   RECV                                             !0      
  114     1      > FE_RESET_RW                                      $2      !0, ->10
          2    > > FE_FETCH_RW                                              $2, !1, ->10
  115     3    >   TYPE_CHECK                                  128          !1
          4      > JMPZ                                                     ~3, ->9
  116     5    >   INIT_FCALL_BY_NAME                                       'array_filter_recursive'
          6        SEND_VAR_EX                                              !1
          7        DO_FCALL                                      0  $4      
          8        ASSIGN                                                   !1, $4
  114     9    > > JMP                                                      ->2
         10    >   FE_FREE                                                  $2
  120    11        INIT_FCALL                                               'array_filter'
         12        SEND_VAR                                                 !0
         13        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2F0131H%3A120%240'
         14        SEND_VAL                                                 ~6
         15        DO_ICALL                                         $7      
         16        VERIFY_RETURN_TYPE                                       $7
         17      > RETURN                                                   $7
  121    18*       VERIFY_RETURN_TYPE                                       
         19*     > RETURN                                                   null

End of function array_filter_recursive

Function %00%7Bclosure%7D%2Fin%2F0131H%3A120%240:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 2, Position 2 = 4
Branch analysis from position: 2
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 4
filename:       /in/0131H
function name:  {closure}
number of ops:  6
compiled vars:  !0 = $v
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  120     0  E >   RECV                                             !0      
          1      > JMPZ_EX                                          ~1      !0, ->4
          2    >   IS_NOT_IDENTICAL                                 ~2      !0, 'Api+'
          3        BOOL                                             ~1      ~2
          4    > > RETURN                                                   ~1
          5*     > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2F0131H%3A120%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
186.22 ms | 1407 KiB | 20 Q