3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* receive form data: $username = (!empty(POST['username']))? POST['username'] : null; $password = (!empty(POST['password']))? POST['password'] : null; $user_hash = (!empty(POST['user_hash']))? POST['user_hash'] : null; By Prince Adeyemi */ //Login with received data $username = "myLogin"; $password = "letmein"; $user_hash = "hash123451"; // Alter this hash to Prompt for Verification. $user = new login($username, $password, $user_hash); Class login { private $_loggedIn = false; private $_username = null; private $_password = null; private $_userhash = null; function __construct(string $user, string $password, string $user_hash) { $this->_username = trim($user); $this->_password = trim($password); $this->_userhash = trim($user_hash); $this->login_user($this->_username, $this->password); } private function login_user(string $user, string $pass) { $this->login($this->_username, $this->password); } private function login(string $username, string $password) : bool { echo "Login using Username $this->_username and password $this->_password"; $this->_loggedIn = $this->isloggedIn(); if($this->_loggedIn) { echo "\nLogin Successfully"; $this->compare($this->_userhash); } else{ echo "\nLogin failed!"; } return $this->__get($this->_username); } private function compare($new_hash) { $stored_hash = "hash12345"; $hashed_verify = ($new_hash === $stored_hash) ? true : false; if(!$hashed_verify) { $this->_loggedIn = false; $this->_doSecurity($this->_username); } else{ echo"\nHash matched sending user : $this->_username to USER_DASHBOAD"; } } private function _doSecurity($user) { echo "\nHash not matched, commencing security verification for $this->_username"; } private function isLoggedIn():bool { //..check if logged in, or set loggedIn to false. $this->_loggedIn = (($this->_username == "myLogin") && ($this->_password=="letmein") ) ? true : $this->_loggedIn ; return $this->__get($this->_username); } public function __get($userLoggedIn) :bool { return $this->_loggedIn; } }

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.60.0070.01018.56
8.3.50.0100.01018.29
8.3.40.0080.00818.90
8.3.30.0040.01118.75
8.3.20.0050.00319.25
8.3.10.0040.00423.56
8.3.00.0040.00420.52
8.2.180.0060.00918.18
8.2.170.0040.01122.96
8.2.160.0070.00720.11
8.2.150.0050.00324.18
8.2.140.0080.00024.66
8.2.130.0000.00819.82
8.2.120.0040.00426.35
8.2.110.0100.00021.00
8.2.100.0090.00317.78
8.2.90.0000.00817.61
8.2.80.0050.00317.97
8.2.70.0030.00518.05
8.2.60.0060.00318.22
8.2.50.0090.00318.10
8.2.40.0030.00619.38
8.2.30.0040.00419.16
8.2.20.0070.00018.03
8.2.10.0000.00718.21
8.2.00.0030.00617.79
8.1.280.0090.00925.92
8.1.270.0080.00022.01
8.1.260.0040.00426.35
8.1.250.0000.00828.09
8.1.240.0000.00823.97
8.1.230.0110.00018.99
8.1.220.0080.00017.74
8.1.210.0030.00618.77
8.1.200.0080.00017.35
8.1.190.0040.00417.13
8.1.180.0080.00018.10
8.1.170.0000.00818.50
8.1.160.0000.00718.84
8.1.150.0000.00718.95
8.1.140.0000.00722.16
8.1.130.0030.00320.27
8.1.120.0000.00817.52
8.1.110.0000.00817.51
8.1.100.0040.00417.47
8.1.90.0080.00017.41
8.1.80.0000.00817.38
8.1.70.0030.00317.37
8.1.60.0000.00817.64
8.1.50.0050.00317.59
8.1.40.0050.00317.40
8.1.30.0090.00017.66
8.1.20.0070.00017.72
8.1.10.0070.00017.62
8.1.00.0060.00317.46
8.0.300.0060.00318.77
8.0.290.0030.00616.75
8.0.280.0070.00018.44
8.0.270.0030.00317.33
8.0.260.0000.00618.49
8.0.250.0000.00717.06
8.0.240.0030.00516.92
8.0.230.0070.00317.02
8.0.220.0030.00316.98
8.0.210.0030.00316.95
8.0.200.0000.00717.06
8.0.190.0000.00817.01
8.0.180.0000.00817.01
8.0.170.0000.00916.96
8.0.160.0060.00317.09
8.0.150.0070.00416.82
8.0.140.0050.00216.98
8.0.130.0050.00013.38
8.0.120.0050.00316.84
8.0.110.0080.00017.05
8.0.100.0040.00416.98
8.0.90.0000.00716.86
8.0.80.0050.00916.99
8.0.70.0040.00416.80
8.0.60.0040.00416.88
8.0.50.0000.00816.95
8.0.30.0060.01217.17
8.0.20.0060.01217.40
8.0.10.0030.00517.22
8.0.00.0110.00816.87
7.4.330.0030.00315.55
7.4.320.0070.00016.55
7.4.300.0030.00316.55
7.4.290.0000.00716.55
7.4.280.0030.00616.42
7.4.270.0040.00416.64
7.4.260.0000.00716.66
7.4.250.0000.00816.63
7.4.240.0000.00716.54
7.4.230.0000.00716.38
7.4.220.0030.00516.73
7.4.210.0090.00716.56
7.4.200.0060.00016.40
7.4.160.0110.00816.52
7.4.140.0090.01017.86
7.4.130.0110.00616.50
7.4.120.0100.00816.59
7.4.110.0140.00316.51
7.4.100.0070.01016.49
7.4.90.0110.00716.63
7.4.80.0070.00919.39
7.4.70.0070.01016.41
7.4.60.0050.01116.37
7.4.50.0070.00516.66
7.4.40.0070.01416.50
7.4.00.0030.01314.95
7.3.330.0050.00013.41
7.3.320.0000.00513.39
7.3.310.0000.00816.27
7.3.300.0030.00316.25
7.3.290.0000.00716.36
7.3.280.0080.00916.38
7.3.260.0100.00916.50
7.3.240.0110.00716.62
7.3.230.0110.00516.44
7.3.210.0110.00616.70
7.3.200.0000.02016.80
7.3.190.0080.01316.69
7.3.180.0100.00716.45
7.3.170.0110.00616.55
7.3.160.0070.01016.61
7.2.330.0030.01416.85
7.2.320.0090.01516.52
7.2.310.0070.01116.83
7.2.300.0130.00316.86
7.2.290.0050.01116.55
7.2.110.0360.00314.66
7.2.100.0360.00314.48
7.2.90.0560.01014.68
7.2.80.0450.00414.69
7.2.70.0500.00915.04
7.2.60.0450.00315.19
7.2.50.0390.00614.86
7.2.40.0460.00614.91
7.2.30.0520.01214.98
7.2.20.0450.00814.96
7.2.10.0380.01215.18
7.2.00.0430.00715.10
7.1.230.0270.01013.96
7.1.220.0480.00914.04
7.1.210.0540.00313.79
7.1.200.0470.00613.78
7.1.190.0450.00313.98
7.1.180.0530.00314.08
7.1.170.0430.00713.92
7.1.160.0640.00313.98
7.1.150.0440.00013.86
7.1.140.0400.00714.03
7.1.130.0530.01113.83
7.1.120.0390.01314.05
7.1.110.0610.00614.14
7.1.100.0430.00613.69
7.1.90.0490.00614.02
7.1.80.0620.00713.91
7.1.70.0350.01413.80
7.1.60.0620.01632.03
7.1.50.0740.00631.58
7.1.40.0800.00731.80
7.1.30.0770.01631.71
7.1.20.0710.02331.62
7.1.10.0650.00714.04
7.1.00.0400.00314.03
5.6.380.0080.00813.98

preferences:
61.64 ms | 401 KiB | 5 Q