trips; // DEBUG if($_GET["debug"]) print_r($trips); $result; $result2; foreach ($trips as $i => $trip) { $result[$i]["duration"] = $trip->duration; $result[$i]["interchange"] = $trip->interchange; $k = 0; foreach ($trip->legs as $leg) { $line = $leg->mode->number; foreach ($leg->stopSeq as $stop) { $result[$i]["stops"][$k]["name"] = $stop->name; $result[$i]["stops"][$k]["gid"] = $stop->ref->gid; $result[$i]["stops"][$k]["zone"] = $stop->ref->zone; $result2[$i][] = $stop->ref->zone; $result[$i]["stops"][$k]["time"] = ($stop->ref->depDateTime)?$stop->ref->depDateTime:$stop->ref->arrDateTime; $result[$i]["stops"][$k]["delay"] = $stop->ref->arrDelay; $result[$i]["stops"][$k]["line"] = $line; $k++; } } } $result3; foreach($result2 as $i => $trip) { $verbund_name; foreach($trip as $item) { $zones = explode(';', $item); foreach($zones as $zone) { $ding = explode(':', $zone); $verbund_name = $ding[0]; $maybe_multiple_zones = $ding[1]; $multiple_zones = explode('|', $maybe_multiple_zones); if ($result3[$i][$verbund_name] == null) { $result3[$i][$verbund_name] = []; } if (!is_array($multiple_zones)) { $mutliple_zones = [$multiple_zones]; } $result3[$i][$verbund_name] = array_unique(array_merge($result3[$i][$verbund_name], $multiple_zones)); sort($result3[$i][$verbund_name]); } } } echo json_encode($result3, JSON_PRETTY_PRINT | JSON_NUMERIC_CHECK); } else { ?> Ticketfinder

Ticketfinder