3v4l.org

run code in 300+ PHP versions simultaneously
<?php function searchByVINs ($VINs,$fields) { /* // test multi-VIN batching via textarea at bottom of https://vpic.nhtsa.dot.gov/api/ $stream_options_content = http_build_query(["data" => implode(";", $VINS), "format" => "JSON"]); $stream_options = [ 'http' => [ 'header' => "Content-Type: application/x-www-form-urlencoded\r\n". "Content-Length: ".strlen($postdata)."\r\n", 'method' => "POST", 'content' => $postdata ] ]; $context = stream_context_create($stream_options); $apiURL = "https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/"; if (!$fp = @fopen($apiURL, "rb", FALSE, $context)) { return ["success" => false, "response" => "Unable to open stream"]; } if (!$response = stream_get_contents($fp),true)) { return ["success" => false, "response" => "Unable to receive streamed data"]; } */ $response = '{"Count":2,"Message":"Results returned successfully","SearchCriteria":"","Results":[{"ABS":"","AEB":"","AdaptiveCruiseControl":"","AdaptiveHeadlights":"","AdditionalErrorText":"","AirBagLocCurtain":"","AirBagLocFront":"","AirBagLocKnee":"","AirBagLocSeatCushion":"","AirBagLocSide":"","Artemis":"","AxleConfiguration":"","Axles":"","BasePrice":"","BatteryA":"","BatteryA_to":"","BatteryCells":"","BatteryInfo":"","BatteryKWh":"","BatteryKWh_to":"","BatteryModules":"","BatteryPacks":"","BatteryType":"","BatteryV":"","BatteryV_to":"","BedLengthIN":"","BedType":"","BlindSpotMon":"","BodyCabType":"","BodyClass":"Wagon","BrakeSystemDesc":"","BrakeSystemType":"Hydraulic","BusFloorConfigType":"","BusLength":"","BusType":"","CAFEBodyType":"","CAFEMake":"","CAFEModel":"","CashForClunkers":"","ChargerLevel":"","ChargerPowerKW":"","CoolingType":"","Country":"","CurbWeightLB":"","CustomMotorcycleType":"","DestinationMarket":"","DisplacementCC":"2200.0","DisplacementCI":"134.25223700841","DisplacementL":"2.2","Doors":"4","DriveType":"","DriverAssist":"","ESC":"","EVDriveUnit":"","ElectrificationLevel":"","EngineConfiguration":"","EngineCycles":"","EngineCylinders":"4","EngineHP":"","EngineHP_to":"","EngineKW":"","EngineManufacturer":"GM","EngineModel":"L61\/LBZ","EntertainmentSystem":"","EquipmentType":"","ErrorCode":"1 - VIN decoded clean. Check Digit (9th position) does not calculate properly.","ForwardCollisionWarning":"","FuelInjectionType":"Multipoint Fuel Injection (MPFI)","FuelTypePrimary":"Gasoline","FuelTypeSecondary":"","GVWR":"Class 1D: 5,001 - 6,000 lb (2,268 - 2,722 kg)","LaneDepartureWarning":"","LaneKeepSystem":"","Make":"CHEVROLET","Manufacturer":"GENERAL MOTORS LLC","ManufacturerId":"984","ManufacturerType":"","Model":"HHR","ModelYear":"2006","MotorcycleChassisType":"","MotorcycleSuspensionType":"","NCAPBodyType":"","NCAPMake":"","NCAPModel":"","NCICCode":"","NCSABodyType":"","NCSAMake":"","NCSAModel":"","Note":"","OtherBusInfo":"","OtherEngineInfo":"L61: 2.2L, 4Cyl, Aluminium, DOHC MFI\u000d\u000aLBZ: 6.6L, V8, DI, Turbo Diesel, inc HP","OtherMotorcycleInfo":"","OtherRestraintSystemInfo":"","OtherTrailerInfo":"","ParkAssist":"","PlantCity":"Ramos Arizpe","PlantCompanyName":"GMNA","PlantCountry":"Mexico","PlantState":"","PossibleValues":"","Pretensioner":"","RearVisibilityCamera":"","SeatBeltsAll":"","SeatRows":"","Seats":"","Series":"LS","Series2":"","SteeringLocation":"","SuggestedVIN":"","TPMS":"","TopSpeedMPH":"","TrackWidth":"","TractionControl":"","TrailerBodyType":"","TrailerLength":"","TrailerType":"","TransmissionSpeeds":"","TransmissionStyle":"","Trim":"1\/2 Ton","Trim2":"","Turbo":"","VIN":"3GNDA13D76S000000","ValveTrainDesign":"Dual Overhead Cam (DOHC)","VehicleType":"MULTIPURPOSE PASSENGER VEHICLE (MPV)","WheelBaseLong":"","WheelBaseShort":"","WheelBaseType":"","WheelSizeFront":"","WheelSizeRear":"","Wheels":"","Windows":""},{"ABS":"","AEB":"","AdaptiveCruiseControl":"","AdaptiveHeadlights":"","AdditionalErrorText":"","AirBagLocCurtain":"1st & 2nd Rows","AirBagLocFront":"1st Row (Driver & Passenger)","AirBagLocKnee":"","AirBagLocSeatCushion":"","AirBagLocSide":"1st Row (Driver & Passenger)","Artemis":"","AxleConfiguration":"","Axles":"","BasePrice":"","BatteryA":"","BatteryA_to":"","BatteryCells":"","BatteryInfo":"","BatteryKWh":"","BatteryKWh_to":"","BatteryModules":"","BatteryPacks":"","BatteryType":"","BatteryV":"","BatteryV_to":"","BedLengthIN":"","BedType":"","BlindSpotMon":"","BodyCabType":"","BodyClass":"Wagon","BrakeSystemDesc":"","BrakeSystemType":"","BusFloorConfigType":"","BusLength":"","BusType":"","CAFEBodyType":"","CAFEMake":"","CAFEModel":"","CashForClunkers":"","ChargerLevel":"","ChargerPowerKW":"","CoolingType":"","Country":"","CurbWeightLB":"","CustomMotorcycleType":"","DestinationMarket":"","DisplacementCC":"2400.0","DisplacementCI":"146.45698582735","DisplacementL":"2.4","Doors":"","DriveType":"4x2","DriverAssist":"","ESC":"","EVDriveUnit":"","ElectrificationLevel":"","EngineConfiguration":"","EngineCycles":"","EngineCylinders":"","EngineHP":"","EngineHP_to":"","EngineKW":"","EngineManufacturer":"","EngineModel":"DOHC MPI THETA-II","EntertainmentSystem":"","EquipmentType":"","ErrorCode":"1 - VIN decoded clean. Check Digit (9th position) does not calculate properly.","ForwardCollisionWarning":"","FuelInjectionType":"Multipoint Fuel Injection (MPFI)","FuelTypePrimary":"Gasoline","FuelTypeSecondary":"","GVWR":"Class 1C: 4,001 - 5,000 lb (1,814 - 2,268 kg)","LaneDepartureWarning":"","LaneKeepSystem":"","Make":"KIA","Manufacturer":"HYUNDAI-KIA AMERICA TECHNICAL CENTER INC (HATCI)","ManufacturerId":"1034","ManufacturerType":"","Model":"Sorento","ModelYear":"2012","MotorcycleChassisType":"","MotorcycleSuspensionType":"","NCAPBodyType":"","NCAPMake":"","NCAPModel":"","NCICCode":"","NCSABodyType":"","NCSAMake":"","NCSAModel":"","Note":"","OtherBusInfo":"","OtherEngineInfo":"","OtherMotorcycleInfo":"","OtherRestraintSystemInfo":"","OtherTrailerInfo":"","ParkAssist":"","PlantCity":"","PlantCompanyName":"Kia Motor Manufacturing, Georgia","PlantCountry":"United States (USA)","PlantState":"Georgia","PossibleValues":"","Pretensioner":"","RearVisibilityCamera":"","SeatBeltsAll":"Manual","SeatRows":"","Seats":"","Series":"GL(Middle-low grade)","Series2":"","SteeringLocation":"","SuggestedVIN":"","TPMS":"Direct","TopSpeedMPH":"","TrackWidth":"","TractionControl":"","TrailerBodyType":"","TrailerLength":"","TrailerType":"","TransmissionSpeeds":"","TransmissionStyle":"","Trim":"","Trim2":"","Turbo":"","VIN":"5XYKT3A12CG000000","ValveTrainDesign":"Dual Overhead Cam (DOHC)","VehicleType":"MULTIPURPOSE PASSENGER VEHICLE (MPV)","WheelBaseLong":"","WheelBaseShort":"","WheelBaseType":"","WheelSizeFront":"","WheelSizeRear":"","Wheels":"","Windows":""}]}'; if(($data = @json_decode($response,true)) === null && json_last_error()!==JSON_ERROR_NONE){ return ["success" => false, "response" => "Unable to parse streamed data"]; } if (!isset($data["Message"]) || $data["Message"] != "Results returned successfully") { return ["success" => false, "response" => "Received unsuccessful dataset"]; } $return = []; $keys = array_flip($fields); foreach ($data["Results"] as $dataset) { $isolated = array_intersect_key($dataset,$keys); // only retain the elements with keys that match $fields values $sorted = array_replace($keys,$isolated); // order the dataset by order of elements in $fields $return[] = $sorted; } return ["success" => true, "response" => $return]; } $VINs = ["3GNDA13D76S000000", "5XYKT3A12CG000000"]; $fields = ["VIN", "ModelYear", "Make", "FuelTypePrimary", "DriveType", "BodyClass"]; $response = searchByVINs($VINs,$fields); if (!$response["success"]) { echo "Oops, the api call failed. {$response["response"]}"; } else { foreach ($response["response"] as $item){ echo "<div>\n"; foreach ($item as $key => $value) { echo "\t<div>$key: $value</div>\n"; } echo "</div>\n"; } }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 15
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 33
Branch analysis from position: 33
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
2 jumps found. (Code = 77) Position 1 = 17, Position 2 = 32
Branch analysis from position: 17
2 jumps found. (Code = 78) Position 1 = 18, Position 2 = 32
Branch analysis from position: 18
2 jumps found. (Code = 77) Position 1 = 20, Position 2 = 29
Branch analysis from position: 20
2 jumps found. (Code = 78) Position 1 = 21, Position 2 = 29
Branch analysis from position: 21
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
Branch analysis from position: 29
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 32
filename:       /in/e33MJ
function name:  (null)
number of ops:  34
compiled vars:  !0 = $VINs, !1 = $fields, !2 = $response, !3 = $item, !4 = $value, !5 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   47     0  E >   ASSIGN                                                   !0, <array>
   48     1        ASSIGN                                                   !1, <array>
   49     2        INIT_FCALL                                               'searchbyvins'
          3        SEND_VAR                                                 !0
          4        SEND_VAR                                                 !1
          5        DO_FCALL                                      0  $8      
          6        ASSIGN                                                   !2, $8
   51     7        FETCH_DIM_R                                      ~10     !2, 'success'
          8        BOOL_NOT                                         ~11     ~10
          9      > JMPZ                                                     ~11, ->15
   52    10    >   NOP                                                      
         11        FETCH_DIM_R                                      ~12     !2, 'response'
         12        FAST_CONCAT                                      ~13     'Oops%2C+the+api+call+failed.+', ~12
         13        ECHO                                                     ~13
   51    14      > JMP                                                      ->33
   54    15    >   FETCH_DIM_R                                      ~14     !2, 'response'
         16      > FE_RESET_R                                       $15     ~14, ->32
         17    > > FE_FETCH_R                                               $15, !3, ->32
   55    18    >   ECHO                                                     '%3Cdiv%3E%0A'
   56    19      > FE_RESET_R                                       $16     !3, ->29
         20    > > FE_FETCH_R                                       ~17     $16, !4, ->29
         21    >   ASSIGN                                                   !5, ~17
   57    22        ROPE_INIT                                     5  ~20     '%09%3Cdiv%3E'
         23        ROPE_ADD                                      1  ~20     ~20, !5
         24        ROPE_ADD                                      2  ~20     ~20, '%3A+'
         25        ROPE_ADD                                      3  ~20     ~20, !4
         26        ROPE_END                                      4  ~19     ~20, '%3C%2Fdiv%3E%0A'
         27        ECHO                                                     ~19
   56    28      > JMP                                                      ->20
         29    >   FE_FREE                                                  $16
   59    30        ECHO                                                     '%3C%2Fdiv%3E%0A'
   54    31      > JMP                                                      ->17
         32    >   FE_FREE                                                  $15
   61    33    > > RETURN                                                   1

Function searchbyvins:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 12, Position 2 = 16
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 18
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
2 jumps found. (Code = 47) Position 1 = 21, Position 2 = 24
Branch analysis from position: 21
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 26
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 26
2 jumps found. (Code = 77) Position 1 = 33, Position 2 = 47
Branch analysis from position: 33
2 jumps found. (Code = 78) Position 1 = 34, Position 2 = 47
Branch analysis from position: 34
1 jumps found. (Code = 42) Position 1 = 33
Branch analysis from position: 33
Branch analysis from position: 47
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 47
Branch analysis from position: 24
Branch analysis from position: 16
filename:       /in/e33MJ
function name:  searchByVINs
number of ops:  52
compiled vars:  !0 = $VINs, !1 = $fields, !2 = $response, !3 = $data, !4 = $return, !5 = $keys, !6 = $dataset, !7 = $isolated, !8 = $sorted
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   25     2        ASSIGN                                                   !2, '%7B%22Count%22%3A2%2C%22Message%22%3A%22Results+returned+successfully%22%2C%22SearchCriteria%22%3A%22%22%2C%22Results%22%3A%5B%7B%22ABS%22%3A%22%22%2C%22AEB%22%3A%22%22%2C%22AdaptiveCruiseControl%22%3A%22%22%2C%22AdaptiveHeadlights%22%3A%22%22%2C%22AdditionalErrorText%22%3A%22%22%2C%22AirBagLocCurtain%22%3A%22%22%2C%22AirBagLocFront%22%3A%22%22%2C%22AirBagLocKnee%22%3A%22%22%2C%22AirBagLocSeatCushion%22%3A%22%22%2C%22AirBagLocSide%22%3A%22%22%2C%22Artemis%22%3A%22%22%2C%22AxleConfiguration%22%3A%22%22%2C%22Axles%22%3A%22%22%2C%22BasePrice%22%3A%22%22%2C%22BatteryA%22%3A%22%22%2C%22BatteryA_to%22%3A%22%22%2C%22BatteryCells%22%3A%22%22%2C%22BatteryInfo%22%3A%22%22%2C%22BatteryKWh%22%3A%22%22%2C%22BatteryKWh_to%22%3A%22%22%2C%22BatteryModules%22%3A%22%22%2C%22BatteryPacks%22%3A%22%22%2C%22BatteryType%22%3A%22%22%2C%22BatteryV%22%3A%22%22%2C%22BatteryV_to%22%3A%22%22%2C%22BedLengthIN%22%3A%22%22%2C%22BedType%22%3A%22%22%2C%22BlindSpotMon%22%3A%22%22%2C%22BodyCabType%22%3A%22%22%2C%22BodyClass%22%3A%22Wagon%22%2C%22BrakeSystemDesc%22%3A%22%22%2C%22BrakeSystemType%22%3A%22Hydraulic%22%2C%22BusFloorConfigType%22%3A%22%22%2C%22BusLength%22%3A%22%22%2C%22BusType%22%3A%22%22%2C%22CAFEBodyType%22%3A%22%22%2C%22CAFEMake%22%3A%22%22%2C%22CAFEModel%22%3A%22%22%2C%22CashForClunkers%22%3A%22%22%2C%22ChargerLevel%22%3A%22%22%2C%22ChargerPowerKW%22%3A%22%22%2C%22CoolingType%22%3A%22%22%2C%22Country%22%3A%22%22%2C%22CurbWeightLB%22%3A%22%22%2C%22CustomMotorcycleType%22%3A%22%22%2C%22DestinationMarket%22%3A%22%22%2C%22DisplacementCC%22%3A%222200.0%22%2C%22DisplacementCI%22%3A%22134.25223700841%22%2C%22DisplacementL%22%3A%222.2%22%2C%22Doors%22%3A%224%22%2C%22DriveType%22%3A%22%22%2C%22DriverAssist%22%3A%22%22%2C%22ESC%22%3A%22%22%2C%22EVDriveUnit%22%3A%22%22%2C%22ElectrificationLevel%22%3A%22%22%2C%22EngineConfiguration%22%3A%22%22%2C%22EngineCycles%22%3A%22%22%2C%22EngineCylinders%22%3A%224%22%2C%22EngineHP%22%3A%22%22%2C%22EngineHP_to%22%3A%22%22%2C%22EngineKW%22%3A%22%22%2C%22EngineManufacturer%22%3A%22GM%22%2C%22EngineModel%22%3A%22L61%5C%2FLBZ%22%2C%22EntertainmentSystem%22%3A%22%22%2C%22EquipmentType%22%3A%22%22%2C%22ErrorCode%22%3A%221+-+VIN+decoded+clean.+Check+Digit+%289th+position%29+does+not+calculate+properly.%22%2C%22ForwardCollisionWarning%22%3A%22%22%2C%22FuelInjectionType%22%3A%22Multipoint+Fuel+Injection+%28MPFI%29%22%2C%22FuelTypePrimary%22%3A%22Gasoline%22%2C%22FuelTypeSecondary%22%3A%22%22%2C%22GVWR%22%3A%22Class+1D%3A+5%2C001+-+6%2C000+lb+%282%2C268+-+2%2C722+kg%29%22%2C%22LaneDepartureWarning%22%3A%22%22%2C%22LaneKeepSystem%22%3A%22%22%2C%22Make%22%3A%22CHEVROLET%22%2C%22Manufacturer%22%3A%22GENERAL+MOTORS+LLC%22%2C%22ManufacturerId%22%3A%22984%22%2C%22ManufacturerType%22%3A%22%22%2C%22Model%22%3A%22HHR%22%2C%22ModelYear%22%3A%222006%22%2C%22MotorcycleChassisType%22%3A%22%22%2C%22MotorcycleSuspensionType%22%3A%22%22%2C%22NCAPBodyType%22%3A%22%22%2C%22NCAPMake%22%3A%22%22%2C%22NCAPModel%22%3A%22%22%2C%22NCICCode%22%3A%22%22%2C%22NCSABodyType%22%3A%22%22%2C%22NCSAMake%22%3A%22%22%2C%22NCSAModel%22%3A%22%22%2C%22Note%22%3A%22%22%2C%22OtherBusInfo%22%3A%22%22%2C%22OtherEngineInfo%22%3A%22L61%3A+2.2L%2C+4Cyl%2C+Aluminium%2C+DOHC+MFI%5Cu000d%5Cu000aLBZ%3A+6.6L%2C+V8%2C+DI%2C+Turbo+Diesel%2C+inc+HP%22%2C%22OtherMotorcycleInfo%22%3A%22%22%2C%22OtherRestraintSystemInfo%22%3A%22%22%2C%22OtherTrailerInfo%22%3A%22%22%2C%22ParkAssist%22%3A%22%22%2C%22PlantCity%22%3A%22Ramos+Arizpe%22%2C%22PlantCompanyName%22%3A%22GMNA%22%2C%22PlantCountry%22%3A%22Mexico%22%2C%22PlantState%22%3A%22%22%2C%22PossibleValues%22%3A%22%22%2C%22Pretensioner%22%3A%22%22%2C%22RearVisibilityCamera%22%3A%22%22%2C%22SeatBeltsAll%22%3A%22%22%2C%22SeatRows%22%3A%22%22%2C%22Seats%22%3A%22%22%2C%22Series%22%3A%22LS%22%2C%22Series2%22%3A%22%22%2C%22SteeringLocation%22%3A%22%22%2C%22SuggestedVIN%22%3A%22%22%2C%22TPMS%22%3A%22%22%2C%22TopSpeedMPH%22%3A%22%22%2C%22TrackWidth%22%3A%22%22%2C%22TractionControl%22%3A%22%22%2C%22TrailerBodyType%22%3A%22%22%2C%22TrailerLength%22%3A%22%22%2C%22TrailerType%22%3A%22%22%2C%22TransmissionSpeeds%22%3A%22%22%2C%22TransmissionStyle%22%3A%22%22%2C%22Trim%22%3A%221%5C%2F2+Ton%22%2C%22Trim2%22%3A%22%22%2C%22Turbo%22%3A%22%22%2C%22VIN%22%3A%223GNDA13D76S000000%22%2C%22ValveTrainDesign%22%3A%22Dual+Overhead+Cam+%28DOHC%29%22%2C%22VehicleType%22%3A%22MULTIPURPOSE+PASSENGER+VEHICLE+%28MPV%29%22%2C%22WheelBaseLong%22%3A%22%22%2C%22WheelBaseShort%22%3A%22%22%2C%22WheelBaseType%22%3A%22%22%2C%22WheelSizeFront%22%3A%22%22%2C%22WheelSizeRear%22%3A%22%22%2C%22Wheels%22%3A%22%22%2C%22Windows%22%3A%22%22%7D%2C%7B%22ABS%22%3A%22%22%2C%22AEB%22%3A%22%22%2C%22AdaptiveCruiseControl%22%3A%22%22%2C%22AdaptiveHeadlights%22%3A%22%22%2C%22AdditionalErrorText%22%3A%22%22%2C%22AirBagLocCurtain%22%3A%221st+%26+2nd+Rows%22%2C%22AirBagLocFront%22%3A%221st+Row+%28Driver+%26+Passenger%29%22%2C%22AirBagLocKnee%22%3A%22%22%2C%22AirBagLocSeatCushion%22%3A%22%22%2C%22AirBagLocSide%22%3A%221st+Row+%28Driver+%26+Passenger%29%22%2C%22Artemis%22%3A%22%22%2C%22AxleConfiguration%22%3A%22%22%2C%22Axles%22%3A%22%22%2C%22BasePrice%22%3A%22%22%2C%22BatteryA%22%3A%22%22%2C%22BatteryA_to%22%3A%22%22%2C%22BatteryCells%22%3A%22%22%2C%22BatteryInfo%22%3A%22%22%2C%22BatteryKWh%22%3A%22%22%2C%22BatteryKWh_to%22%3A%22%22%2C%22BatteryModules%22%3A%22%22%2C%22BatteryPacks%22%3A%22%22%2C%22BatteryType%22%3A%22%22%2C%22BatteryV%22%3A%22%22%2C%22BatteryV_to%22%3A%22%22%2C%22BedLengthIN%22%3A%22%22%2C%22BedType%22%3A%22%22%2C%22BlindSpotMon%22%3A%22%22%2C%22BodyCabType%22%3A%22%22%2C%22BodyClass%22%3A%22Wagon%22%2C%22BrakeSystemDesc%22%3A%22%22%2C%22BrakeSystemType%22%3A%22%22%2C%22BusFloorConfigType%22%3A%22%22%2C%22BusLength%22%3A%22%22%2C%22BusType%22%3A%22%22%2C%22CAFEBodyType%22%3A%22%22%2C%22CAFEMake%22%3A%22%22%2C%22CAFEModel%22%3A%22%22%2C%22CashForClunkers%22%3A%22%22%2C%22ChargerLevel%22%3A%22%22%2C%22ChargerPowerKW%22%3A%22%22%2C%22CoolingType%22%3A%22%22%2C%22Country%22%3A%22%22%2C%22CurbWeightLB%22%3A%22%22%2C%22CustomMotorcycleType%22%3A%22%22%2C%22DestinationMarket%22%3A%22%22%2C%22DisplacementCC%22%3A%222400.0%22%2C%22DisplacementCI%22%3A%22146.45698582735%22%2C%22DisplacementL%22%3A%222.4%22%2C%22Doors%22%3A%22%22%2C%22DriveType%22%3A%224x2%22%2C%22DriverAssist%22%3A%22%22%2C%22ESC%22%3A%22%22%2C%22EVDriveUnit%22%3A%22%22%2C%22ElectrificationLevel%22%3A%22%22%2C%22EngineConfiguration%22%3A%22%22%2C%22EngineCycles%22%3A%22%22%2C%22EngineCylinders%22%3A%22%22%2C%22EngineHP%22%3A%22%22%2C%22EngineHP_to%22%3A%22%22%2C%22EngineKW%22%3A%22%22%2C%22EngineManufacturer%22%3A%22%22%2C%22EngineModel%22%3A%22DOHC+MPI+THETA-II%22%2C%22EntertainmentSystem%22%3A%22%22%2C%22EquipmentType%22%3A%22%22%2C%22ErrorCode%22%3A%221+-+VIN+decoded+clean.+Check+Digit+%289th+position%29+does+not+calculate+properly.%22%2C%22ForwardCollisionWarning%22%3A%22%22%2C%22FuelInjectionType%22%3A%22Multipoint+Fuel+Injection+%28MPFI%29%22%2C%22FuelTypePrimary%22%3A%22Gasoline%22%2C%22FuelTypeSecondary%22%3A%22%22%2C%22GVWR%22%3A%22Class+1C%3A+4%2C001+-+5%2C000+lb+%281%2C814+-+2%2C268+kg%29%22%2C%22LaneDepartureWarning%22%3A%22%22%2C%22LaneKeepSystem%22%3A%22%22%2C%22Make%22%3A%22KIA%22%2C%22Manufacturer%22%3A%22HYUNDAI-KIA+AMERICA+TECHNICAL+CENTER+INC+%28HATCI%29%22%2C%22ManufacturerId%22%3A%221034%22%2C%22ManufacturerType%22%3A%22%22%2C%22Model%22%3A%22Sorento%22%2C%22ModelYear%22%3A%222012%22%2C%22MotorcycleChassisType%22%3A%22%22%2C%22MotorcycleSuspensionType%22%3A%22%22%2C%22NCAPBodyType%22%3A%22%22%2C%22NCAPMake%22%3A%22%22%2C%22NCAPModel%22%3A%22%22%2C%22NCICCode%22%3A%22%22%2C%22NCSABodyType%22%3A%22%22%2C%22NCSAMake%22%3A%22%22%2C%22NCSAModel%22%3A%22%22%2C%22Note%22%3A%22%22%2C%22OtherBusInfo%22%3A%22%22%2C%22OtherEngineInfo%22%3A%22%22%2C%22OtherMotorcycleInfo%22%3A%22%22%2C%22OtherRestraintSystemInfo%22%3A%22%22%2C%22OtherTrailerInfo%22%3A%22%22%2C%22ParkAssist%22%3A%22%22%2C%22PlantCity%22%3A%22%22%2C%22PlantCompanyName%22%3A%22Kia+Motor+Manufacturing%2C+Georgia%22%2C%22PlantCountry%22%3A%22United+States+%28USA%29%22%2C%22PlantState%22%3A%22Georgia%22%2C%22PossibleValues%22%3A%22%22%2C%22Pretensioner%22%3A%22%22%2C%22RearVisibilityCamera%22%3A%22%22%2C%22SeatBeltsAll%22%3A%22Manual%22%2C%22SeatRows%22%3A%22%22%2C%22Seats%22%3A%22%22%2C%22Series%22%3A%22GL%28Middle-low+grade%29%22%2C%22Series2%22%3A%22%22%2C%22SteeringLocation%22%3A%22%22%2C%22SuggestedVIN%22%3A%22%22%2C%22TPMS%22%3A%22Direct%22%2C%22TopSpeedMPH%22%3A%22%22%2C%22TrackWidth%22%3A%22%22%2C%22TractionControl%22%3A%22%22%2C%22TrailerBodyType%22%3A%22%22%2C%22TrailerLength%22%3A%22%22%2C%22TrailerType%22%3A%22%22%2C%22TransmissionSpeeds%22%3A%22%22%2C%22TransmissionStyle%22%3A%22%22%2C%22Trim%22%3A%22%22%2C%22Trim2%22%3A%22%22%2C%22Turbo%22%3A%22%22%2C%22VIN%22%3A%225XYKT3A12CG000000%22%2C%22ValveTrainDesign%22%3A%22Dual+Overhead+Cam+%28DOHC%29%22%2C%22VehicleType%22%3A%22MULTIPURPOSE+PASSENGER+VEHICLE+%28MPV%29%22%2C%22WheelBaseLong%22%3A%22%22%2C%22WheelBaseShort%22%3A%22%22%2C%22WheelBaseType%22%3A%22%22%2C%22WheelSizeFront%22%3A%22%22%2C%22WheelSizeRear%22%3A%22%22%2C%22Wheels%22%3A%22%22%2C%22Windows%22%3A%22%22%7D%5D%7D'
   27     3        BEGIN_SILENCE                                    ~10     
          4        INIT_FCALL                                               'json_decode'
          5        SEND_VAR                                                 !2
          6        SEND_VAL                                                 <true>
          7        DO_ICALL                                         $11     
          8        END_SILENCE                                              ~10
          9        ASSIGN                                           ~12     !3, $11
         10        TYPE_CHECK                                    2  ~13     ~12
         11      > JMPZ_EX                                          ~13     ~13, ->16
         12    >   INIT_FCALL                                               'json_last_error'
         13        DO_ICALL                                         $14     
         14        IS_NOT_IDENTICAL                                 ~15     $14, 0
         15        BOOL                                             ~13     ~15
         16    > > JMPZ                                                     ~13, ->18
   28    17    > > RETURN                                                   <array>
   31    18    >   ISSET_ISEMPTY_DIM_OBJ                         0  ~16     !3, 'Message'
         19        BOOL_NOT                                         ~17     ~16
         20      > JMPNZ_EX                                         ~17     ~17, ->24
         21    >   FETCH_DIM_R                                      ~18     !3, 'Message'
         22        IS_NOT_EQUAL                                     ~19     ~18, 'Results+returned+successfully'
         23        BOOL                                             ~17     ~19
         24    > > JMPZ                                                     ~17, ->26
   32    25    > > RETURN                                                   <array>
   35    26    >   ASSIGN                                                   !4, <array>
   36    27        INIT_FCALL                                               'array_flip'
         28        SEND_VAR                                                 !1
         29        DO_ICALL                                         $21     
         30        ASSIGN                                                   !5, $21
   37    31        FETCH_DIM_R                                      ~23     !3, 'Results'
         32      > FE_RESET_R                                       $24     ~23, ->47
         33    > > FE_FETCH_R                                               $24, !6, ->47
   38    34    >   INIT_FCALL                                               'array_intersect_key'
         35        SEND_VAR                                                 !6
         36        SEND_VAR                                                 !5
         37        DO_ICALL                                         $25     
         38        ASSIGN                                                   !7, $25
   39    39        INIT_FCALL                                               'array_replace'
         40        SEND_VAR                                                 !5
         41        SEND_VAR                                                 !7
         42        DO_ICALL                                         $27     
         43        ASSIGN                                                   !8, $27
   40    44        ASSIGN_DIM                                               !4
         45        OP_DATA                                                  !8
   37    46      > JMP                                                      ->33
         47    >   FE_FREE                                                  $24
   43    48        INIT_ARRAY                                       ~30     <true>, 'success'
         49        ADD_ARRAY_ELEMENT                                ~30     !4, 'response'
         50      > RETURN                                                   ~30
   44    51*     > RETURN                                                   null

End of function searchbyvins

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
140.64 ms | 1021 KiB | 19 Q