Bonjour,
Via un cURL je récupère une string sous ce format:Voici une version arrangé avec indentation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part {"request":{"carrier":{"requestedCode":"AF","fsCode":"AF"},"flightNumber":{"requested":"6152","interpreted":"6152"},"airportOrMetro":{"airport":{},"metro":{}},"date":{"year":"2013","month":"6","day":"20","interpreted":"2013-06-20"},"days":{"interpreted":1},"codeshareType":{},"serviceType":{},"flightType":{"interpreted":"DIRECT"},"codeType":{},"extendedOptions":{},"url":"https://api.flightstats.com/flex/connections/rest/v1/json/direct/flight/AF/6152/departing/2013/06/20"},"appendix":{"airlines":[{"fs":"AF","iata":"AF","icao":"AFR","name":"Air France","phoneNumber":"1-800-237-2747","active":true}],"airports":[{"fs":"TLS","iata":"TLS","icao":"LFBO","name":"Blagnac Airport","city":"Toulouse","cityCode":"TLS","countryCode":"FR","countryName":"France","regionName":"Europe","timeZoneRegionName":"Europe/Paris","localTime":"2013-06-20T13:34:31.207","utcOffsetHours":2.0,"latitude":43.630071,"longitude":1.374321,"elevationFeet":499,"classification":2,"active":true},{"fs":"ORY","iata":"ORY","icao":"LFPO","name":"Paris Orly Airport","street1":"94396 Orly Aérogare","city":"Paris","cityCode":"PAR","countryCode":"FR","countryName":"France","regionName":"Europe","timeZoneRegionName":"Europe/Paris","localTime":"2013-06-20T13:34:31.207","utcOffsetHours":2.0,"latitude":48.728283,"longitude":2.3597,"elevationFeet":292,"classification":1,"active":true}],"equipments":[{"iata":"320","name":"Airbus Industrie A320","turboProp":false,"jet":true,"widebody":false,"regional":false}]},"flights":[{"departureAirportFsCode":"ORY","arrivalAirportFsCode":"TLS","departureDateFrom":"2013-06-03","departureDateTo":"2013-07-12","departureDaysOfWeek":[1,2,3,4,5],"arrivalDateAdjustment":0,"departureTime":"06:15:00.000","arrivalTime":"07:25:00.000","distanceMiles":356,"flightDurationMinutes":70,"layoverDurationMinutes":0,"flightType":"NON_STOP","serviceType":"PASSENGER_ONLY","online":true,"flightLegs":[{"departureAirportFsCode":"ORY","arrivalAirportFsCode":"TLS","departureTime":"06:15:00.000","arrivalTime":"07:25:00.000","departureDateAdjustment":0,"arrivalDateAdjustment":0,"departureTerminal":"W","carrierFsCode":"AF","flightNumber":"6152","codeshare":false,"equipmentCodes":["320"],"distanceMiles":356,"flightDurationMinutes":70,"layoverDurationMinutes":0}]}]}
Mon problème ? Je n'arrive pas à composé un algorithme pour récupérer les éléments distinctement. Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140 { "request": { "carrier": { "requestedCode": "AF", "fsCode": "AF" }, "flightNumber": { "requested": "6152", "interpreted": "6152" }, "airportOrMetro": { "airport": {}, "metro": {} }, "date": { "year": "2013", "month": "6", "day": "20", "interpreted": "2013-06-20" }, "days": { "interpreted": 1 }, "codeshareType": {}, "serviceType": {}, "flightType": { "interpreted": "DIRECT" }, "codeType": {}, "extendedOptions": {}, "url": "https://api.flightstats.com/flex/connections/rest/v1/json/direct/flight/AF/6152/departing/2013/06/20" }, "appendix": { "airlines": [ { "fs": "AF", "iata": "AF", "icao": "AFR", "name": "Air France", "phoneNumber": "1-800-237-2747", "active": true } ], "airports": [ { "fs": "TLS", "iata": "TLS", "icao": "LFBO", "name": "Blagnac Airport", "city": "Toulouse", "cityCode": "TLS", "countryCode": "FR", "countryName": "France", "regionName": "Europe", "timeZoneRegionName": "Europe/Paris", "localTime": "2013-06-20T09:40:21.547", "utcOffsetHours": 2, "latitude": 43.630071, "longitude": 1.374321, "elevationFeet": 499, "classification": 2, "active": true }, { "fs": "ORY", "iata": "ORY", "icao": "LFPO", "name": "Paris Orly Airport", "street1": "94396 Orly Aérogare", "city": "Paris", "cityCode": "PAR", "countryCode": "FR", "countryName": "France", "regionName": "Europe", "timeZoneRegionName": "Europe/Paris", "localTime": "2013-06-20T09:40:21.547", "utcOffsetHours": 2, "latitude": 48.728283, "longitude": 2.3597, "elevationFeet": 292, "classification": 1, "active": true } ], "equipments": [ { "iata": "320", "name": "Airbus Industrie A320", "turboProp": false, "jet": true, "widebody": false, "regional": false } ] }, "flights": [ { "departureAirportFsCode": "ORY", "arrivalAirportFsCode": "TLS", "departureDateFrom": "2013-06-03", "departureDateTo": "2013-07-12", "departureDaysOfWeek": [ 1, 2, 3, 4, 5 ], "arrivalDateAdjustment": 0, "departureTime": "06:15:00.000", "arrivalTime": "07:25:00.000", "distanceMiles": 356, "flightDurationMinutes": 70, "layoverDurationMinutes": 0, "flightType": "NON_STOP", "serviceType": "PASSENGER_ONLY", "online": true, "flightLegs": [ { "departureAirportFsCode": "ORY", "arrivalAirportFsCode": "TLS", "departureTime": "06:15:00.000", "arrivalTime": "07:25:00.000", "departureDateAdjustment": 0, "arrivalDateAdjustment": 0, "departureTerminal": "W", "carrierFsCode": "AF", "flightNumber": "6152", "codeshare": false, "equipmentCodes": [ "320" ], "distanceMiles": 356, "flightDurationMinutes": 70, "layoverDurationMinutes": 0 } ] } ] }
J'ai une fonction avec laquelle j'envoie "departureTerminal" en argument, et dans mon cas je voudrais que ce me retourne "W".
Auriez-vous quelque propositions d'algorithme avec les outils de PHP qui vont avec? La structure des page reste la même, mais les données changent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function maFonction($objetVoulu){ //instructions et traitements return $resultat; }
En vous remerciant infiniment d'avance.
Cordialement
Brian
Partager