3v4l.org

run code in 300+ PHP versions simultaneously
<?php // index.php (tek dosya) — canlı maçları çekip ekranda gösterir header('Content-Type: text/html; charset=utf-8'); $LIVE_URL = 'PASTE_LIVE_JSON_ENDPOINT_HERE'; // Network'ten yakaladığın URL function http_get_json($url, $headers = []) { $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_TIMEOUT => 20, CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_HTTPHEADER => $headers, ]); $raw = curl_exec($ch); $err = curl_error($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($raw === false) return [null, "cURL error: $err", $code]; $json = json_decode($raw, true); if (!is_array($json)) return [null, "JSON parse failed", $code]; return [$json, null, $code]; } // Network’teki request’ten birebir al (gerekirse) $headers = [ 'accept: application/json, text/plain, */*', 'user-agent: Mozilla/5.0', 'referer: https://www.jojobet1112.com/sports', // Eğer endpoint cookie istiyorsa (login vb.), buraya eklenir: // 'cookie: ...' ]; $apiMode = isset($_GET['api']) && $_GET['api'] === '1'; [$data, $error, $code] = http_get_json($LIVE_URL, $headers); if ($apiMode) { header('Content-Type: application/json; charset=utf-8'); if ($error) { echo json_encode(['ok'=>false, 'http_code'=>$code, 'error'=>$error], JSON_UNESCAPED_UNICODE); exit; } // Ham JSON’u döndür (istersen burada normalize edip döndürürüz) echo json_encode(['ok'=>true, 'http_code'=>$code, 'data'=>$data], JSON_UNESCAPED_UNICODE); exit; } /** * Burada normalize ediyoruz. * NOT: Aşağıdaki alan isimleri SADECE örnek. * Senin yakaladığın JSON’un yapısına göre map edeceğiz. */ $matches = []; if (is_array($data)) { // Örnek: $data['events'] gibi bir yerden çekilecek $events = $data['events'] ?? $data['data']['events'] ?? []; foreach ($events as $e) { $matches[] = [ 'id' => $e['id'] ?? $e['eventId'] ?? null, 'league' => $e['league']['name'] ?? $e['leagueName'] ?? '-', 'home' => $e['home']['name'] ?? $e['home'] ?? '-', 'away' => $e['away']['name'] ?? $e['away'] ?? '-', 'score' => ($e['score']['home'] ?? '-') . ' - ' . ($e['score']['away'] ?? '-'), 'minute' => $e['time']['minute'] ?? $e['minute'] ?? null, 'startTime' => $e['startTime'] ?? $e['kickoff'] ?? null, // Örnek 1X2 odds 'odds_1' => $e['odds']['1'] ?? null, 'odds_x' => $e['odds']['X'] ?? null, 'odds_2' => $e['odds']['2'] ?? null, ]; } } ?> <!doctype html> <html lang="tr"> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1"/> <title>Canlı Maçlar</title> <style> body{font-family:system-ui,Segoe UI,Arial;margin:20px;background:#0b0f19;color:#e8eefc} .top{display:flex;gap:10px;align-items:center;margin-bottom:14px} button{padding:10px 12px;border:0;border-radius:10px;cursor:pointer} .card{background:#111a2e;border:1px solid #1f2a44;border-radius:14px;padding:12px;margin:10px 0} .row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap} .muted{color:#97a6c6;font-size:13px} .odds{display:flex;gap:8px} .pill{background:#0b1222;border:1px solid #223155;border-radius:999px;padding:6px 10px;font-size:13px} </style> </head> <body> <div class="top"> <button onclick="location.reload()">Yenile</button> <span class="muted">API: <code>?api=1</code> | Not: Endpoint’i yakalayınca map’i netleştiririz.</span> </div> <?php if ($error): ?> <div class="card"> <div><b>Çekilemedi</b> (HTTP: <?=htmlspecialchars((string)$code)?>)</div> <div class="muted"><?=htmlspecialchars($error)?></div> <div class="muted" style="margin-top:8px;">LIVE_URL ve header/cookie’yi Network’ten gelen isteğe göre doldur.</div> </div> <?php endif; ?> <?php foreach ($matches as $m): ?> <div class="card"> <div class="row"> <div><b><?=htmlspecialchars($m['home'])?></b> vs <b><?=htmlspecialchars($m['away'])?></b></div> <div class="muted"><?=htmlspecialchars($m['league'])?> • ID: <?=htmlspecialchars((string)$m['id'])?></div> </div> <div class="row" style="margin-top:8px;"> <div>Skor: <b><?=htmlspecialchars($m['score'])?></b> <?= $m['minute'] !== null ? "<span class='muted'>({$m['minute']}' )</span>" : "" ?></div> <div class="muted">Saat: <?=htmlspecialchars((string)$m['startTime'])?></div> </div> <div class="odds" style="margin-top:10px;"> <span class="pill">1: <?=htmlspecialchars((string)$m['odds_1'])?></span> <span class="pill">X: <?=htmlspecialchars((string)$m['odds_x'])?></span> <span class="pill">2: <?=htmlspecialchars((string)$m['odds_2'])?></span> </div> </div> <?php endforeach; ?> </body> </html> <?php // index.php (tek dosya) — canlı maçları çekip ekranda gösterir header('Content-Type: text/html; charset=utf-8'); $LIVE_URL = 'PASTE_LIVE_JSON_ENDPOINT_HERE'; // Network'ten yakaladığın URL function http_get_json($url, $headers = []) { $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_TIMEOUT => 20, CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_HTTPHEADER => $headers, ]); $raw = curl_exec($ch); $err = curl_error($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($raw === false) return [null, "cURL error: $err", $code]; $json = json_decode($raw, true); if (!is_array($json)) return [null, "JSON parse failed", $code]; return [$json, null, $code]; } // Network’teki request’ten birebir al (gerekirse) $headers = [ 'accept: application/json, text/plain, */*', 'user-agent: Mozilla/5.0', 'referer: https://www.jojobet1112.com/sports', // Eğer endpoint cookie istiyorsa (login vb.), buraya eklenir: // 'cookie: ...' ]; $apiMode = isset($_GET['api']) && $_GET['api'] === '1'; [$data, $error, $code] = http_get_json($LIVE_URL, $headers); if ($apiMode) { header('Content-Type: application/json; charset=utf-8'); if ($error) { echo json_encode(['ok'=>false, 'http_code'=>$code, 'error'=>$error], JSON_UNESCAPED_UNICODE); exit; } // Ham JSON’u döndür (istersen burada normalize edip döndürürüz) echo json_encode(['ok'=>true, 'http_code'=>$code, 'data'=>$data], JSON_UNESCAPED_UNICODE); exit; } /** * Burada normalize ediyoruz. * NOT: Aşağıdaki alan isimleri SADECE örnek. * Senin yakaladığın JSON’un yapısına göre map edeceğiz. */ $matches = []; if (is_array($data)) { // Örnek: $data['events'] gibi bir yerden çekilecek $events = $data['events'] ?? $data['data']['events'] ?? []; foreach ($events as $e) { $matches[] = [ 'id' => $e['id'] ?? $e['eventId'] ?? null, 'league' => $e['league']['name'] ?? $e['leagueName'] ?? '-', 'home' => $e['home']['name'] ?? $e['home'] ?? '-', 'away' => $e['away']['name'] ?? $e['away'] ?? '-', 'score' => ($e['score']['home'] ?? '-') . ' - ' . ($e['score']['away'] ?? '-'), 'minute' => $e['time']['minute'] ?? $e['minute'] ?? null, 'startTime' => $e['startTime'] ?? $e['kickoff'] ?? null, // Örnek 1X2 odds 'odds_1' => $e['odds']['1'] ?? null, 'odds_x' => $e['odds']['X'] ?? null, 'odds_2' => $e['odds']['2'] ?? null, ]; } } ?> <!doctype html> <html lang="tr"> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1"/> <title>Canlı Maçlar</title> <style> body{font-family:system-ui,Segoe UI,Arial;margin:20px;background:#0b0f19;color:#e8eefc} .top{display:flex;gap:10px;align-items:center;margin-bottom:14px} button{padding:10px 12px;border:0;border-radius:10px;cursor:pointer} .card{background:#111a2e;border:1px solid #1f2a44;border-radius:14px;padding:12px;margin:10px 0} .row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap} .muted{color:#97a6c6;font-size:13px} .odds{display:flex;gap:8px} .pill{background:#0b1222;border:1px solid #223155;border-radius:999px;padding:6px 10px;font-size:13px} </style> </head> <body> <div class="top"> <button onclick="location.reload()">Yenile</button> <span class="muted">API: <code>?api=1</code> | Not: Endpoint’i yakalayınca map’i netleştiririz.</span> </div> <?php if ($error): ?> <div class="card"> <div><b>Çekilemedi</b> (HTTP: <?=htmlspecialchars((string)$code)?>)</div> <div class="muted"><?=htmlspecialchars($error)?></div> <div class="muted" style="margin-top:8px;">LIVE_URL ve header/cookie’yi Network’ten gelen isteğe göre doldur.</div> </div> <?php endif; ?> <?php foreach ($matches as $m): ?> <div class="card"> <div class="row"> <div><b><?=htmlspecialchars($m['home'])?></b> vs <b><?=htmlspecialchars($m['away'])?></b></div> <div class="muted"><?=htmlspecialchars($m['league'])?> • ID: <?=htmlspecialchars((string)$m['id'])?></div> </div> <div class="row" style="margin-top:8px;"> <div>Skor: <b><?=htmlspecialchars($m['score'])?></b> <?= $m['minute'] !== null ? "<span class='muted'>({$m['minute']}' )</span>" : "" ?></div> <div class="muted">Saat: <?=htmlspecialchars((string)$m['startTime'])?></div> </div> <div class="odds" style="margin-top:10px;"> <span class="pill">1: <?=htmlspecialchars((string)$m['odds_1'])?></span> <span class="pill">X: <?=htmlspecialchars((string)$m['odds_x'])?></span> <span class="pill">2: <?=htmlspecialchars((string)$m['odds_2'])?></span> </div> </div> <?php endforeach; ?> </body> </html>

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.10.0140.00920.41
8.5.00.0150.00616.29
8.4.160.0130.00619.60
8.4.150.0270.00919.46
8.4.140.0280.00717.72
8.4.130.0270.00917.47
8.4.120.0290.01217.57
8.4.110.0160.00817.83
8.4.100.0210.00417.86
8.4.90.0200.00217.73
8.4.80.0190.00517.73
8.4.70.0180.00417.74
8.4.60.0250.00517.81
8.4.50.0320.01117.85
8.4.40.0380.00517.82
8.4.30.0340.00917.63
8.4.20.0400.01117.90
8.4.10.0230.00517.80
8.3.290.0190.00818.29
8.3.280.0220.00618.11
8.3.270.0220.00816.57
8.3.260.0250.00516.57
8.3.250.0390.01116.89
8.3.240.0190.00516.65
8.3.230.0180.00516.67
8.3.220.0250.00716.48
8.3.210.0310.00716.70
8.3.200.0250.00816.59
8.3.190.0220.00816.40
8.3.180.0220.00816.74
8.3.170.0300.01016.57
8.3.160.0220.00616.59
8.3.150.0280.00916.73
8.3.140.0280.00716.82
8.3.130.0280.00816.83
8.3.120.0160.00616.73
8.3.110.0130.00716.73
8.3.100.0210.00216.78
8.3.90.0170.00816.51
8.3.80.0330.00618.46
8.3.70.0200.00416.48
8.3.60.0180.00516.68
8.3.50.0190.00416.70
8.3.40.0190.00317.85
8.3.30.0170.00617.64
8.3.20.0140.00617.83
8.3.10.0200.00717.75
8.3.00.0130.00617.92
8.2.300.0280.00417.84
8.2.290.0290.00616.82
8.2.280.0370.01016.57
8.2.270.0310.00616.82
8.1.340.0300.01117.64

preferences:
149.03 ms | 1005 KiB | 7 Q