3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Função para garantir que o valor digitado seja positivo e numérico function lerVendas($ano, $entrada) { if (is_numeric($entrada) && $entrada > 0) { return (float)$entrada; // Retorna o valor como um número decimal } else { echo "O valor para $ano deve ser um número positivo. Corrija o valor para continuar.\n"; return null; // Retorna null para indicar entrada inválida } } // Leitura dos valores de vendas para os anos 2020, 2021, 2022 e 2023 $vendas = []; $anos = [2020, 2021, 2022, 2023]; // Entradas de exemplo, substitua conforme necessário $entradas = [ 2020 => 10000, 2021 => 12000, 2022 => 11000, 2023 => 13000 ]; foreach ($anos as $ano) { $vendas[$ano] = lerVendas($ano, $entradas[$ano]); } // Verificação de quantos anos tiveram crescimento em relação ao ano anterior $crescimentoAnos = 0; for ($i = 1; $i < count($anos); $i++) { if ($vendas[$anos[$i]] > $vendas[$anos[$i - 1]]) { $crescimentoAnos++; } } // Cálculo do crescimento percentual entre 2020 e 2023 $crescimentoPercentual = (($vendas[2023] - $vendas[2020]) / $vendas[2020]) * 100; // Saídas echo "\nO número de anos em que as vendas cresceram em relação ao ano anterior: $crescimentoAnos\n"; echo "O crescimento percentual entre 2020 e 2023 foi de " . number_format($crescimentoPercentual, 2) . "%\n"; ?> <?php // Função para garantir que o valor digitado seja positivo e numérico function lerVendas($ano, $entrada) { if (is_numeric($entrada) && $entrada > 0) { return (float)$entrada; // Retorna o valor como um número decimal } else { echo "O valor para $ano deve ser um número positivo. Corrija o valor para continuar.\n"; return null; // Retorna null para indicar entrada inválida } } // Leitura dos valores de vendas para os anos 2020, 2021, 2022 e 2023 $vendas = []; $anos = [2020, 2021, 2022, 2023]; // Entradas de exemplo, substitua conforme necessário $entradas = [ 2020 => 10000, 2021 => 12000, 2022 => 11000, 2023 => 13000 ]; foreach ($anos as $ano) { $vendas[$ano] = lerVendas($ano, $entradas[$ano]); } // Verificação de quantos anos tiveram crescimento em relação ao ano anterior $crescimentoAnos = 0; for ($i = 1; $i < count($anos); $i++) { if ($vendas[$anos[$i]] > $vendas[$anos[$i - 1]]) { $crescimentoAnos++; } } // Cálculo do crescimento percentual entre 2020 e 2023 $crescimentoPercentual = (($vendas[2023] - $vendas[2020]) / $vendas[2020]) * 100; // Saídas echo "\nO número de anos em que as vendas cresceram em relação ao ano anterior: $crescimentoAnos\n"; echo "O crescimento percentual entre 2020 e 2023 foi de " . number_format($crescimentoPercentual, 2) . "%\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.3.110.0420.00216.53
8.3.100.0370.01016.33
8.3.90.0360.00716.34
8.3.80.0430.00816.38
8.3.70.0270.00916.37
8.3.60.0280.01016.56
8.3.50.0290.00516.48
8.3.40.0310.00317.23
8.3.30.0330.00417.18
8.3.20.0330.00717.13
8.3.10.0310.01017.19
8.3.00.0150.00917.13
8.2.230.0220.01316.31
8.2.220.0250.00616.55
8.2.210.0210.01416.22
8.2.200.0300.00316.30
8.2.190.0240.01016.41
8.2.180.0210.00516.49
8.2.170.0330.00917.38
8.2.160.0270.00417.54
8.2.150.0340.00617.43
8.2.140.0330.00917.36
8.2.130.0220.00617.30
8.2.120.0310.00517.43
8.2.110.0280.01017.49
8.2.100.0250.00317.44
8.2.90.0180.01217.50
8.2.80.0330.00617.25
8.2.70.0290.00817.17
8.2.60.0330.00617.05
8.2.50.0260.00917.25
8.2.40.0330.00217.44
8.2.30.0360.00517.18
8.2.20.0240.01517.13
8.2.10.0350.00917.19
8.2.00.0310.00917.06
8.1.290.0340.01215.74
8.1.280.0380.00315.74
8.1.270.0240.00917.10
8.1.260.0280.00317.06
8.1.250.0250.00716.98
8.1.240.0190.01017.00
8.1.230.0180.00916.94
8.1.220.0190.00916.98
8.1.210.0210.00516.93
8.1.200.0270.00416.92
8.1.190.0240.00217.04
8.1.180.0260.00916.81
8.1.170.0230.00816.81
8.1.160.0270.01317.19
8.1.150.0320.00417.04
8.1.140.0250.00317.11
8.1.130.0270.01216.92
8.1.120.0230.00617.19
8.1.110.0200.00817.19
8.1.100.0240.00717.11
8.1.90.0220.00617.05
8.1.80.0260.00516.99
8.1.70.0220.00817.18
8.1.60.0240.00817.25
8.1.50.0240.00817.06
8.1.40.0250.00717.19
8.1.30.0330.01017.42
8.1.20.0280.00817.37
8.1.10.0340.00017.11
8.1.00.0280.00917.04

preferences:
136.22 ms | 940 KiB | 7 Q