3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); echo "setup begin\n"; $pdo = new PDO('sqlite::memory:'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $user_table = 'CREATE TABLE user ( user_id INTEGER NOT NULL, email TEXT NOT NULL, PRIMARY KEY (user_id), UNIQUE (email) )'; $pdo->exec($user_table); $select_stmt = $pdo->prepare('SELECT * FROM user'); $insert_stmt = $pdo->prepare('INSERT INTO user (email) VALUES (?)'); $_POST['email'] = 'bobby@tables.com'; echo "setup end\n\n"; echo "validate email & prepared statement begin\n"; $email = filter_var($_POST['email'] ?? false, FILTER_VALIDATE_EMAIL); if ($email === false) { throw new InvalidArgumentException(); } $insert_stmt->execute([$email]); $select_stmt->execute(); var_dump($select_stmt->fetchAll()); echo "validate email & prepared statement end\n\n"; echo "prepared statement handles injection begin\n"; $email = "'little_bobby@tables.com'); DROP TABLE user; --"; $insert_stmt->execute([$email]); $select_stmt->execute(); var_dump($select_stmt->fetchAll()); echo "prepared statement handles injection end\n\n"; echo "string query fails injection begin\n"; $email = "'little_bobby@tables.com'); DROP TABLE user; --"; $pdo->exec("INSERT INTO user (email) VALUES ({$email})"); $select_stmt->execute(); var_dump($select_stmt->fetchAll()); echo "string query fails injection end\n\n";

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.0120.00917.81
8.5.00.0170.00821.37
8.4.150.0020.00014.05
8.4.140.0150.00919.03
8.4.130.0110.01319.30
8.4.120.0040.00521.92
8.4.110.0150.00821.71
8.4.100.0160.00720.12
8.4.90.0130.00719.82
8.4.80.0060.00419.24
8.4.70.0140.00819.13
8.4.60.0130.01119.91
8.4.50.0090.00319.21
8.4.40.0090.00319.36
8.4.30.0110.01520.04
8.4.20.0080.01521.76
8.4.10.0000.02220.94
8.3.280.0140.00819.73
8.3.270.0120.01118.16
8.3.260.0080.01118.13
8.3.250.0100.01119.99
8.3.240.0100.00618.12
8.3.230.0140.00818.20
8.3.220.0120.00918.46
8.3.210.0040.00518.10
8.3.200.0120.01017.93
8.3.190.0050.00318.46
8.3.180.0120.00917.88
8.3.170.0140.00718.31
8.3.160.0130.00320.09
8.3.150.0140.00722.09
8.3.140.0000.00919.88
8.3.130.0050.00517.95
8.3.120.0030.00720.20
8.3.110.0060.00319.93
8.3.100.0030.00718.14
8.3.90.0090.00026.77
8.3.80.0100.00017.97
8.3.70.0110.00719.93
8.3.60.0070.01320.05
8.3.50.0100.00617.81
8.3.40.0130.00720.36
8.3.30.0100.00720.52
8.3.20.0030.00624.18
8.3.10.0050.00524.66
8.3.00.0040.00426.16
8.2.290.0170.00621.53
8.2.280.0170.00921.41
8.2.270.0130.00720.21
8.2.260.0100.01019.50
8.2.250.0060.00319.66
8.2.240.0090.00018.00
8.2.230.0060.00320.94
8.2.220.0120.00424.06
8.2.210.0060.00326.77
8.2.200.0110.00017.84
8.2.190.0170.00719.65
8.2.180.0100.00725.92
8.2.170.0060.01320.09
8.2.160.0130.00322.96
8.2.150.0060.00325.66
8.2.140.0030.00624.66
8.2.130.0030.00626.16
8.2.120.0080.00026.16
8.2.110.0070.00422.09
8.2.100.0060.00619.22
8.2.90.0030.00620.47
8.2.80.0030.00619.00
8.2.70.0060.00319.05
8.2.60.0100.00818.85
8.2.50.0070.00318.88
8.2.40.0030.00722.32
8.2.30.0060.00320.44
8.2.20.0000.00819.52
8.2.10.0060.00320.51
8.2.00.0030.00520.41
8.1.330.0120.01123.20
8.1.320.0090.01217.36
8.1.310.0040.00419.57
8.1.300.0060.00317.98
8.1.290.0110.00030.84
8.1.280.0120.00425.92
8.1.270.0060.00323.44
8.1.260.0000.00826.35
8.1.250.0000.00828.09
8.1.240.0070.00420.34
8.1.230.0090.00319.07
8.1.220.0000.00919.16
8.1.210.0000.00918.86
8.1.200.0000.01018.85
8.1.190.0090.00019.01
8.1.180.0060.00318.93
8.1.170.0030.00619.84
8.1.160.0030.00620.15
8.1.150.0000.00820.00
8.1.140.0030.00520.02
8.1.130.0040.00421.43
8.1.120.0000.00818.69
8.1.110.0030.00618.66
8.1.100.0030.00618.75
8.1.90.0060.00318.68
8.1.80.0000.01118.62
8.1.70.0040.00418.61
8.1.60.0030.00618.73
8.1.50.0030.00618.88
8.1.40.0060.00318.80
8.1.30.0000.01018.87
8.1.20.0060.00318.86
8.1.10.0040.00418.80
8.1.00.0030.00920.89
8.0.300.0060.00318.77
8.0.290.0000.00818.07
8.0.280.0110.00019.64
8.0.270.0040.00418.05
8.0.260.0000.00819.55
8.0.250.0040.00418.20
8.0.240.0000.00818.23
8.0.230.0040.00418.13
8.0.220.0090.00018.23
8.0.210.0000.00818.13
8.0.200.0040.00418.21
8.0.190.0090.00018.12
8.0.180.0070.00318.11
8.0.170.0000.01018.16
8.0.160.0230.00318.01
8.0.150.0030.00618.02
8.0.140.0040.00418.00
8.0.130.0020.00514.62
8.0.120.0070.00418.09
8.0.110.0000.00818.09
8.0.100.0060.00318.34
8.0.90.0040.00418.10
8.0.80.0240.01118.13
8.0.70.0210.01318.17
8.0.60.0170.01518.10
8.0.50.0150.01518.00
8.0.30.0220.01518.09
8.0.20.0220.00918.22
8.0.10.0180.01518.33
8.0.00.0080.01518.28
7.4.330.0000.00615.55
7.4.320.0080.00017.86
7.4.300.0030.00717.80
7.4.290.0030.00517.71
7.4.280.0060.00317.90
7.4.270.0000.00817.87
7.4.260.0090.00317.72
7.4.250.0040.00417.86
7.4.240.0060.00317.68
7.4.230.0040.00417.86
7.4.220.0040.00417.50
7.4.210.0200.01617.70
7.4.200.0150.00817.80
7.4.190.0170.01017.85
7.4.180.0150.01417.91
7.4.160.0170.01117.75
7.4.150.0120.01817.80
7.4.140.0200.01317.80
7.4.130.0170.01017.85
7.4.120.0090.01317.87
7.4.110.0220.01217.86
7.4.100.0130.01617.90
7.4.90.0160.01017.84
7.4.80.0190.00517.89
7.4.70.0090.01317.88
7.4.60.0160.01317.87
7.4.50.0150.01317.59
7.4.40.0160.00717.72
7.4.30.0190.00917.83
7.4.20.0240.00717.71
7.4.10.0160.01117.71
7.4.00.0230.01617.78
7.3.330.0080.00017.66
7.3.320.0030.00314.52
7.3.310.0080.00017.76
7.3.300.0040.00417.69
7.3.290.0220.01717.67
7.3.280.0220.00717.63
7.3.270.0170.01217.71
7.3.260.0140.00717.71
7.3.250.0180.01117.68
7.3.240.0190.01217.68
7.3.230.0160.01317.71
7.3.220.0200.01017.56
7.3.210.0170.01317.56
7.3.200.0130.01117.52
7.3.190.0190.01417.59
7.3.180.0110.01117.59
7.3.170.0090.00817.51
7.3.160.0100.00817.51
7.3.150.0080.01317.61
7.3.140.0110.01017.58
7.3.130.0090.01517.64
7.3.120.0170.00617.55
7.3.110.0120.01017.51
7.3.100.0130.00717.47
7.3.90.0170.00217.86
7.3.80.0140.00517.56
7.3.70.0060.01017.50
7.3.60.0090.01317.53
7.3.50.0100.01317.44
7.3.40.0120.01217.49
7.3.30.0130.01017.47
7.3.20.0140.00717.50
7.3.10.0140.01317.43
7.3.00.0140.01117.45

preferences:
39.07 ms | 403 KiB | 5 Q