3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Objednavka dotazniku spokojenosti * * Ukazka pouziti * * Nazvy produktu preferujeme v kódování UTF-8. Pokud název produktu * převést nedokážete, poradíme si s WINDOWS-1250 i ISO-8859-2 * * <code> * $overeno = new HeurekaOvereno('API_KLIC'); * // pro slovenske obchody $overeno = new HeurekaOvereno('API_KLIC', HEUREKA_LANGUAGE_SK); * $overeno->setEmail('ondrej.cech@heureka.cz'); * $overeno->addProduct('Nokia N95'); * if (false === $overeno->send()) { * print 'Chyba volání HEUREKA API: ' . $overeno->getLastError(); * } * </code> * * @author Ondrej Cech <ondrej.cech@heureka.cz> */ /** * Zakladni URL * * @var String */ define('HEUREKA_BASE_URL', 'http://www.heureka.cz/direct/dotaznik/objednavka.php'); define('HEUREKA_BASE_URL_SK', 'http://www.heureka.sk/direct/dotaznik/objednavka.php'); /** * Identifikator jazykovych mutaci * * @var Int */ define('HEUREKA_LANGUAGE_CZ', 1); define('HEUREKA_LANGUAGE_SK', 2); class HeurekaOvereno { /** * API klic pro identifikaci obchodu * * @var String */ var $apiKey; /** * Email zakaznika * * @var String */ var $email; /** * Pole objednanych produktu * * @var Array */ var $products = array(); /** * Cislo objednavky * * @var Int */ private $orderId; /** * Chybove hlaseni * * @var String */ var $errstr = NULL; /** * ID jazykove mutace * * @var int */ var $languageId = 1; /** * Konstruktor tridy * * @param String $apiKey API klic pro identifikaci obchodu */ function HeurekaOvereno ($apiKey, $languageId = HEUREKA_LANGUAGE_CZ) { $this->apiKey = $apiKey; $this->languageId = $languageId; } /** * Setter pro email * * @param String $email Email zakaznika, kteremu bude odeslat dotaznik */ function setEmail ($email) { $this->email = $email; } /** * Pridava objednane produkty do pozadavku * * Nazvy produktu preferujeme v kódování UTF-8. Pokud název produktu * převést nedokážete, poradíme si s WINDOWS-1250 i ISO-8859-2 * * @param String $productName Nazev objednaneho produktu */ function addProduct ($productName) { $this->products[] = $productName; } /** * Pridava cislo objednavky * * Timto cislem bude oznacen vyplneny dotaznik * * @param Int $orderId cislo objednavky */ public function addOrderId ($orderId) { $this->orderId = $orderId; } /** * Provadi HTTP pozadavek na server * * @param String $url Volana URL adresa * @return String Odpoved ze serveru */ function sendRequest ($url) { $parsed = parse_url($url); $fp = fsockopen($parsed['host'], 80, $errno, $errstr, 5); if (!$fp) { $this->errstr = $errstr . ' (' . $errno . ')'; return false; } else { $return = ''; $out = "GET " . $parsed['path'] . "?" . $parsed['query'] . " HTTP/1.1\r\n" . "Host: " . $parsed['host'] . "\r\n" . "Connection: Close\r\n\r\n"; fputs($fp, $out); while (!feof($fp)) { $return .= fgets($fp, 128); } fclose($fp); $returnParsed = explode("\r\n\r\n", $return); return empty($returnParsed[1]) ? '' : trim($returnParsed[1]); } } /** * Vraci URL pro zadanou jazykovou mutaci * * @return String */ function getUrl () { return HEUREKA_LANGUAGE_CZ == (int) $this->languageId ? HEUREKA_BASE_URL : HEUREKA_BASE_URL_SK; } /** * Odesila pozadavek na objednani dotazniku * * @return Bool true */ function send () { if (empty($this->email)) { $this->errstr = 'Je nutné vyplnit elektronickou adresu'; return false; } // Stavime URL $url = $this->getUrl() . '?id=' . $this->apiKey . '&email=' . urlencode($this->email); foreach ($this->products as $product) { $url .= '&produkt[]=' . urlencode($product); } if (isset($this->orderId)) { $url .= '&orderid=' . urlencode($this->orderId); } // Odesilame pozadavek a kontrolujeme stav $contents = $this->sendRequest($url); if (false === $contents) { $this->errstr = 'Nepodarilo se odeslat pozadavek'; return false; } elseif ('ok' == $contents) { return true; } else { $this->errstr = $contents; return false; } } /** * Vraci posledni chybove hlaseni * * @return String Chybove hlsaeni */ function getLastError () { return $this->errstr; } }

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.3.40.0140.01018.62
8.3.30.0120.00818.54
8.3.20.0080.00018.52
8.3.10.0030.00520.23
8.3.00.0040.00419.13
8.2.170.0070.00722.96
8.2.160.0070.00720.57
8.2.150.0080.00024.18
8.2.140.0040.00424.66
8.2.130.0000.00826.16
8.2.120.0000.00721.05
8.2.110.0060.00319.36
8.2.100.0000.01117.66
8.2.90.0050.00319.11
8.2.80.0040.00419.34
8.2.70.0000.00817.50
8.2.60.0080.00017.80
8.2.50.0080.00018.07
8.2.40.0000.00818.09
8.2.30.0020.00517.93
8.2.20.0030.00617.54
8.2.10.0040.00417.52
8.2.00.0000.00717.50
8.1.270.0040.00423.99
8.1.260.0000.00826.35
8.1.250.0090.00028.09
8.1.240.0110.00021.98
8.1.230.0060.00620.87
8.1.220.0000.00818.77
8.1.210.0050.00319.08
8.1.200.0070.00317.10
8.1.190.0020.00517.27
8.1.180.0000.00818.10
8.1.170.0080.00018.96
8.1.160.0030.00518.71
8.1.150.0030.00518.49
8.1.140.0050.00317.30
8.1.130.0030.00317.85
8.1.120.0030.00517.43
8.1.110.0040.00417.33
8.1.100.0000.00717.36
8.1.90.0000.00717.36
8.1.80.0000.00717.37
8.1.70.0030.00617.33
8.1.60.0000.00717.50
8.1.50.0080.00017.36
8.1.40.0040.00417.41
8.1.30.0030.00617.58
8.1.20.0000.00717.52
8.1.10.0050.00317.36
8.1.00.0040.00417.43
8.0.300.0000.00819.81
8.0.290.0000.00716.75
8.0.280.0030.00318.43
8.0.270.0000.00717.17
8.0.260.0040.00416.74
8.0.250.0040.00416.79
8.0.240.0000.00716.77
8.0.230.0040.00416.87
8.0.220.0070.00016.80
8.0.210.0100.00016.84
8.0.200.0030.00616.91
8.0.190.0040.00416.83
8.0.180.0000.00716.82
8.0.170.0030.00616.80
8.0.160.0040.00416.77
8.0.150.0040.00416.83
8.0.140.0030.00716.80
8.0.130.0060.00013.23
8.0.120.0050.00316.79
8.0.110.0040.00416.75
8.0.100.0000.00716.70
8.0.90.0000.00716.77
8.0.80.0000.01516.74
8.0.70.0000.00816.85
8.0.60.0040.00416.79
8.0.50.0080.00016.77
8.0.30.0170.00716.80
8.0.20.0090.01016.79
8.0.10.0040.00416.88
8.0.00.0060.01416.63
7.4.330.0000.00512.87
7.4.320.0000.00816.43
7.4.300.0040.00416.37
7.4.290.0050.00216.33
7.4.280.0070.00316.52
7.4.270.0030.00516.42
7.4.260.0030.00313.26
7.4.250.0030.00616.47
7.4.240.0030.00316.34
7.4.230.0000.00716.41
7.4.220.0070.01016.62
7.4.210.0110.00416.48
7.4.200.0000.00716.29
7.4.190.0040.00416.50
7.4.160.0040.01116.45
7.4.150.0200.02416.30
7.4.140.0100.00716.47
7.4.130.0110.00616.42
7.4.120.0120.00616.52
7.4.110.0040.01316.50
7.4.100.0040.01416.43
7.4.90.0110.00616.51
7.4.80.0130.00319.39
7.4.70.0040.01516.53
7.4.60.0120.00316.59
7.4.50.0070.00016.17
7.4.40.0050.00516.14
7.4.30.0040.01216.14
7.4.00.0070.00714.52
7.3.330.0030.00313.23
7.3.320.0030.00313.15
7.3.310.0000.00716.29
7.3.300.0000.00716.28
7.3.290.0070.00716.25
7.3.280.0080.00916.25
7.3.270.0030.01416.57
7.3.260.0160.00316.27
7.3.250.0110.00916.37
7.3.240.0080.00916.41
7.3.230.0070.01116.43
7.3.210.0070.01016.41
7.3.200.0060.01216.27
7.3.190.0040.01416.50
7.3.180.0000.01516.37
7.3.170.0160.00016.54
7.3.160.0090.00916.24
7.3.120.0040.00714.97
7.2.330.0150.00316.67
7.2.320.0090.01316.61
7.2.310.0160.00616.59
7.2.300.0070.01016.32
7.2.290.0140.00516.44
7.2.80.0030.00916.54
7.2.60.0070.00716.65
7.2.00.0000.01119.35
7.1.200.0000.01515.68
7.1.100.0030.01017.86
7.1.70.0050.00216.73
7.1.60.0120.00919.30
7.1.50.0060.00616.78
7.1.00.0030.07022.31
7.0.200.0000.00716.64
7.0.140.0000.07721.97
7.0.120.0000.06722.03
7.0.60.0030.08319.98
7.0.50.0030.08017.92
7.0.40.0130.08020.05
7.0.30.0070.05020.10
7.0.20.0430.06320.26
7.0.10.0100.05020.13
7.0.00.0100.08320.05
5.6.280.0100.06321.13
5.6.210.0100.07720.69
5.6.200.0100.03718.22
5.6.190.0070.06320.50
5.6.180.3130.04020.48
5.6.170.0230.08320.45
5.6.160.0070.05720.50
5.6.150.0030.06718.28
5.6.140.0170.06318.18
5.6.130.0130.06018.18
5.6.120.0030.06720.97
5.6.110.0070.07721.16
5.6.100.0070.05320.91
5.6.90.0130.06021.06
5.6.80.0170.07720.43
5.5.350.0000.08720.36
5.5.340.0100.06018.08
5.5.330.0070.04320.28
5.5.320.0200.03720.24
5.5.310.0270.07720.30
5.5.300.0100.07717.95
5.5.290.0070.04017.95
5.5.280.0070.06020.71
5.5.270.0070.07020.89
5.5.260.0070.08720.89
5.5.250.0030.05020.57
5.5.240.0300.06720.21
5.4.450.0070.08319.53
5.4.440.0070.04019.18
5.4.430.0100.07719.44
5.4.420.0070.05019.47
5.4.410.0030.04019.44
5.4.400.0070.04319.29
5.4.390.0070.06319.24
5.4.380.0000.08019.12
5.4.370.0000.04319.05
5.4.360.0100.07319.15
5.4.350.0030.06319.07
5.4.340.0100.07319.24
5.4.320.0030.04318.88
5.4.310.0030.04019.15
5.4.300.0070.03719.23
5.4.290.0100.07018.98
5.4.280.0000.07718.85
5.4.270.0000.06319.08
5.4.260.0130.05018.87
5.4.250.0070.08019.15
5.4.240.0000.05318.87
5.4.230.0070.03719.23
5.4.220.0030.03718.91
5.4.210.0000.04019.24
5.4.200.0130.02719.14
5.4.190.0130.02718.99
5.4.180.0100.03019.20
5.4.170.0030.04019.19
5.4.160.0030.03719.18
5.4.150.0030.03719.13
5.4.140.0030.07016.51
5.4.130.0030.03716.34
5.4.120.0100.05716.43
5.4.110.0000.04016.45
5.4.100.0030.03316.43
5.4.90.0000.03716.43
5.4.80.0000.03716.28
5.4.70.0070.03316.45
5.4.60.0030.03316.52
5.4.50.0030.03316.38
5.4.40.0070.03316.36
5.4.30.0030.03716.27
5.4.20.0030.03316.51
5.4.10.0070.03016.45
5.4.00.0030.03315.95
5.3.290.0030.04014.70
5.3.280.0070.03314.63
5.3.270.0030.04014.63
5.3.260.0000.04014.67
5.3.250.0030.03314.66
5.3.240.0030.05314.55
5.3.230.0100.03314.68
5.3.220.0130.06314.62
5.3.210.0100.03714.64
5.3.200.0030.03714.62
5.3.190.0000.04014.61
5.3.180.0000.04014.62
5.3.170.0000.04314.66
5.3.160.0030.03714.58
5.3.150.0100.03014.61
5.3.140.0030.03714.60
5.3.130.0030.03714.72
5.3.120.0000.04014.49
5.3.110.0070.04314.58
5.3.100.0100.03014.21
5.3.90.0030.03714.12
5.3.80.0030.03314.05
5.3.70.0130.03314.06
5.3.60.0030.03314.03
5.3.50.0030.03714.14
5.3.40.0070.03314.00
5.3.30.0030.03713.85
5.3.20.0000.03713.87
5.3.10.0030.04013.83
5.3.00.0070.05313.67
5.2.170.0030.03011.07
5.2.160.0000.03011.14
5.2.150.0070.02711.26
5.2.140.0030.03311.18
5.2.130.0030.02711.14
5.2.120.0030.02711.10
5.2.110.0100.02311.05
5.2.100.0030.04311.11
5.2.90.0030.03311.09
5.2.80.0030.03011.18
5.2.70.0100.04711.12
5.2.60.0030.03310.97
5.2.50.0030.06310.97
5.2.40.0030.03010.99
5.2.30.0030.03311.00
5.2.20.0030.05011.05
5.2.10.0070.05711.05
5.2.00.0030.04010.75
5.1.60.0200.03010.02
5.1.50.0030.0539.94
5.1.40.0030.02710.08
5.1.30.0030.06010.34
5.1.20.0030.06010.47
5.1.10.0070.05710.11
5.1.00.0100.05010.11
5.0.50.0030.0478.59
5.0.40.0030.0478.43
5.0.30.0000.0378.42
5.0.20.0030.0478.40
5.0.10.0030.0378.38
5.0.00.0030.0378.18
4.4.90.0070.0207.73
4.4.80.0030.0137.73
4.4.70.0000.0207.74
4.4.60.0070.0207.74
4.4.50.0070.0177.74
4.4.40.0000.0407.74
4.4.30.0030.0307.74
4.4.20.0070.0237.74
4.4.10.0000.0307.74
4.4.00.0030.0537.74
4.3.110.0000.0237.74
4.3.100.0000.0407.74
4.3.90.0030.0207.74
4.3.80.0030.0377.74
4.3.70.0000.0337.74
4.3.60.0030.0177.74
4.3.50.0000.0377.74
4.3.40.0030.0477.74
4.3.30.0030.0337.74
4.3.20.0030.0337.74
4.3.10.0000.0337.74
4.3.00.0030.0337.74

preferences:
50.63 ms | 400 KiB | 5 Q