3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Conta { private $titular; //atributos ou dados. private float $saldo; private static $numeroDeContas = 0; public function __construct($titular)//metodos ou ações { $this ->titular = $titular; // $this referencia o objeto q chama a função $this ->saldo = 0; self::$numeroDeContas++; } public function sacar(float $valorASacar): void { if ($valorASacar > $this->saldo) { echo "Saldo indisponível"; return; } $this->saldo -= $valorASacar; } public function depositar(float $valorADepositar): void { if ($valorADepositar < 0) { echo "Valor precisa ser positivo"; return; } $this->saldo += $valorADepositar; } public function transferir(float $valorATransferir, Conta $contaDestino): void { if ($valorATransferir > $this->saldo) { echo "Saldo indisponível"; return; } $this->sacar($valorATransferir); $contaDestino->transferir($valorATransferir); } // Métodos Recuperar. public function recuperarSaldo(): float { return $this->saldo; } public function recuperarNomeTitular(): string { return $this->titular->recuperarNome(); } public function recuperarCpfTitular(): string { return $this->titular->recuperarCpf(); } //... código omitido public static function recuperarNumeroDeContas(): int { return Conta::$numeroDeContas; } } class Titular { private string $cpf; private string $nome; public function __construct(string $cpf, string $nome) { $this->cpf = $cpf; $this->validarNomeTitular($nome); $this->nome = $nome; } private function validarNomeTitular(string $nomeTitular) { if (strlen($nomeTitular) < 5) { // strlen = tamanho da string echo "Nome precisa ter pelo menos 5 caracteres"; exit(); } } public function recuperarCpf() { return $this->cpf; } public function recuperarNome() { return $this->nome; } } $primeiraConta = new conta(new titular('123.456.789-10','Thiago Felipe')); $segundaConta = new conta(new titular('987.456.123-01', 'Aline Torres')); var_dump($primeiraConta); var_dump($segundaConta); $primeiraConta -> depositar(1000); $segundaConta -> depositar (3500); echo $primeiraConta -> recuperarNomeTitular() . PHP_EOL; echo $primeiraConta -> recuperarCpfTitular() . PHP_EOL; echo $primeiraConta -> recuperarSaldo() . PHP_EOL; echo $segundaConta -> recuperarSaldo() . PHP_EOL; echo $segundaConta -> recuperarNomeTitular() . PHP_EOL; echo $segundaConta -> recuperarCpfTitular() . PHP_EOL;

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.4.120.0100.00620.51
8.4.110.0040.00418.63
8.4.100.0040.00518.84
8.4.90.0080.01017.77
8.4.80.0040.00518.03
8.4.70.0100.01017.75
8.4.60.0130.00818.70
8.4.50.0050.00417.73
8.4.40.0210.00017.85
8.4.30.0100.01018.62
8.4.20.0230.00818.21
8.4.10.0160.00321.13
8.3.250.0130.00319.27
8.3.240.0140.00616.68
8.3.230.0100.00416.82
8.3.220.0140.00517.17
8.3.210.0030.00516.71
8.3.200.0130.00718.34
8.3.190.0060.00917.09
8.3.180.0040.00416.49
8.3.170.0110.00717.24
8.3.160.0030.01516.66
8.3.150.0060.01222.72
8.3.140.0110.00016.84
8.3.130.0040.00418.24
8.3.120.0000.01518.98
8.3.110.0080.00016.79
8.3.100.0030.00618.46
8.3.90.0050.00326.77
8.3.80.0070.00319.36
8.3.70.0070.01418.20
8.3.60.0120.00618.29
8.3.50.0140.00523.66
8.3.40.0100.00721.90
8.3.30.0000.01418.79
8.3.20.0080.00024.18
8.3.10.0040.00424.66
8.3.00.0040.00426.16
8.2.290.0090.01120.47
8.2.280.0040.00718.48
8.2.270.0060.01316.55
8.2.260.0060.01219.23
8.2.250.0080.00016.54
8.2.240.0040.00416.56
8.2.230.0040.00420.94
8.2.220.0060.00324.06
8.2.210.0070.00026.77
8.2.200.0030.00618.88
8.2.190.0110.00416.78
8.2.180.0000.01825.92
8.2.170.0160.00019.26
8.2.160.0070.00722.96
8.2.150.0080.00025.66
8.2.140.0040.00424.66
8.2.130.0000.00826.16
8.2.120.0040.00426.35
8.2.110.0160.00321.12
8.2.100.0120.00017.78
8.2.90.0030.00518.34
8.2.80.0030.00617.97
8.2.70.0030.00617.63
8.2.60.0090.00017.63
8.2.50.0040.00418.05
8.2.40.0060.00320.07
8.2.30.0000.00718.09
8.2.20.0060.00318.16
8.2.10.0040.00819.29
8.2.00.0060.00319.18
8.1.330.0080.00315.91
8.1.320.0080.01116.16
8.1.310.0080.00016.68
8.1.300.0180.00016.16
8.1.290.0030.00630.84
8.1.280.0140.00725.92
8.1.270.0040.00423.99
8.1.260.0000.00828.09
8.1.250.0000.00828.09
8.1.240.0090.00022.55
8.1.230.0000.01120.97
8.1.220.0030.00617.74
8.1.210.0000.00818.98
8.1.200.0000.00917.35
8.1.190.0080.00017.23
8.1.180.0000.00818.10
8.1.170.0040.00418.51
8.1.160.0000.00718.93
8.1.150.0000.00718.91
8.1.140.0000.00718.99
8.1.130.0030.00320.23
8.1.120.0050.00317.49
8.1.110.0000.00717.45
8.1.100.0050.00317.56
8.1.90.0000.00717.49
8.1.80.0030.00717.52
8.1.70.0080.00017.50
8.1.60.0000.00817.63
8.1.50.0070.00017.56
8.1.40.0000.00917.59
8.1.30.0040.00417.59
8.1.20.0030.00517.71
8.1.10.0080.00017.63
8.1.00.0000.00817.60
8.0.300.0030.00620.21
8.0.290.0030.00616.75
8.0.280.0000.00818.49
8.0.270.0030.00318.22
8.0.260.0030.00318.54
8.0.250.0030.00317.10
8.0.240.0030.00316.95
8.0.230.0000.00817.08
8.0.220.0030.00316.89
8.0.210.0040.00417.01
8.0.200.0000.00717.09
8.0.190.0050.00316.95
8.0.180.0040.00416.90
8.0.170.0000.00817.03
8.0.160.0040.00417.03
8.0.150.0030.00517.04
8.0.140.0070.00416.89
8.0.130.0030.00313.40
8.0.120.0050.00316.98
8.0.110.0040.00416.95
8.0.100.0000.00716.83
8.0.90.0040.00416.83
8.0.80.0080.00716.97
8.0.70.0040.00416.86
8.0.60.0000.00816.76
8.0.50.0070.00016.92
8.0.30.0100.00717.15
8.0.20.0070.01317.23
8.0.10.0030.00617.00
8.0.00.0160.00417.01
7.4.330.0000.00515.55
7.4.320.0030.00316.47
7.4.300.0030.00316.53
7.4.290.0080.00016.60
7.4.280.0040.00416.55
7.4.270.0040.00416.65
7.4.260.0060.00013.43
7.4.250.0000.00816.61
7.4.240.0050.00316.54
7.4.230.0040.00416.43
7.4.220.0050.00216.58
7.4.210.0100.00716.60
7.4.200.0040.00416.34
7.4.130.0060.01316.58
7.4.120.0130.00316.55
7.4.110.0080.01116.53
7.4.100.0160.00316.34
7.4.90.0090.00916.55
7.4.80.0150.00416.43
7.4.70.0040.01516.54
7.4.60.0060.01216.49
7.4.50.0130.01016.39
7.4.40.0110.00816.54
7.4.30.0170.00016.42
7.4.20.0130.00716.52
7.4.10.0150.00316.58
7.4.00.0160.00316.54
7.3.330.0070.00015.99
7.3.320.0050.00312.98
7.3.310.0040.00416.11
7.3.300.0040.00416.17
7.3.290.0110.00516.12
7.3.260.0130.01016.43
7.3.250.0130.00316.14
7.3.240.0100.00716.34
7.3.230.0100.00716.10
7.3.220.0130.00316.23
7.3.210.0130.00616.46
7.3.200.0070.01016.34
7.3.190.0100.00716.41
7.3.180.0080.00816.16
7.3.170.0030.01416.22
7.3.160.0080.00816.14
7.3.150.0080.00816.11
7.3.140.0090.00816.14
7.3.130.0060.01216.26
7.3.120.0030.01316.36
7.3.110.0060.01216.18
7.3.100.0080.00816.36
7.3.90.0160.00016.32
7.3.80.0060.01016.15
7.3.70.0080.00916.20
7.3.60.0030.01416.20
7.3.50.0100.00716.23
7.3.40.0100.00716.12
7.3.30.0070.01016.21
7.3.20.0400.00716.20
7.3.10.0070.01016.16
7.3.00.0150.00316.29

preferences:
29.03 ms | 403 KiB | 5 Q