3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo 'start'; function recuperation_info_product_et_decrementation($reference, $stock_fichier, $isDeclinaison){ /* Fonction de récupèration et décrementation produit */ global $version_sup_egale_1531; $product_infos = array(); $tables = array('product_attribute'); if($isDeclinaison === false) { array_unshift($tables, 'product'); } foreach($tables as $table) { $query = 'SELECT * FROM `'._DB_PREFIX_.$table.'` WHERE `reference` = "'.$reference.'";'; $result = Db::getInstance()->executeS($query); if($result !== false) { $product_infos = $result[0]; decremente_stock($product_infos['id_product'], $qty, $reference, $table); break; } } return $product_infos; } /* fonction qui retourne l'IdProduct et l'IdProductAttribute du produit commandé */ function recuperation_idProduct_idProductAttribute($reference_fichier){ $product_infos = array(); $query = 'SELECT * FROM `'._DB_PREFIX_.'product` WHERE `reference` = "'.pSQL($reference).'";'; $result = Db::getInstance()->executeS($query); $product_infos['id_product'] = $result[0]['id_product']; $query = 'SELECT * FROM `'._DB_PREFIX_.'product_attribute` WHERE `reference` = "'.pSQL($reference).'";'; $result = Db::getInstance()->executeS($query); $product_infos['id_product_attribute'] = $result[0]['id_product_attribute']; return $product_infos; } function decremente_stock($id_product, $qty, $reference, $table) { switch ($GLOBALS['versionPourSwitch']){ case '1.5.4.0': // [-] Core: Hook actionUpdateQuantity was not called for product without attributes which depends on the physical stock $query = ' UPDATE `'._DB_PREFIX_.'stock_available` SET quantity = (quantity - "'.$qty.'") WHERE id_product = "'.$id_product.'" AND `reference` = "'.$reference.'";'; Db::getInstance()->execute($query); $query2 = ' UPDATE `'._DB_PREFIX_.'stock` SET physical_quantity = (physical_quantity - "'.$qty.'") WHERE id_product = "'.$id_product.'" AND `reference` = "'.$reference.'";'; Db::getInstance()->execute($query2); break; default: if($version_sup_egale_1531) { $query = ' UPDATE `'._DB_PREFIX_.'stock_available` SET quantity = (quantity - "'.$qty.'") WHERE id_product = "'.$id_product.'" AND `reference` = "'.$reference.'";'; } else { $query = ' UPDATE `'._DB_PREFIX_.$table.'` SET quantity = (quantity - "'.$qty.'") WHERE id_product = "'.$id_product.'" AND `reference` = "'.$reference.'";'; } Db::getInstance()->execute($query); break; } break; } echo 'done';

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)
5.6.210.0070.05720.55
5.6.200.0130.07318.19
5.6.190.0130.07720.48
5.6.180.0200.03320.52
5.6.170.0300.06320.57
5.6.160.0130.07720.48
5.6.150.0030.04318.16
5.6.140.0100.06318.18
5.6.130.0100.04718.28
5.6.120.0130.07721.16
5.6.110.0000.04321.05
5.6.100.0000.06721.17
5.6.90.0130.08321.13
5.6.80.0130.06020.55
5.5.350.0070.08020.46
5.5.340.0100.07017.94
5.5.330.0030.09320.27
5.5.320.0230.05320.29
5.5.310.0130.04720.34
5.5.300.0030.04017.97
5.5.290.0030.04018.04
5.5.280.0070.07020.82
5.5.270.0170.05020.90
5.5.260.0030.04020.92
5.5.250.0100.07320.52
5.5.240.0000.07320.24
5.4.450.0270.06019.38
5.4.440.0170.04019.27
5.4.430.0270.05319.40
5.4.420.0200.07319.27
5.4.410.0200.04319.44
5.4.400.0230.03319.20
5.4.390.0230.04019.09
5.4.380.0200.05019.20
5.4.370.0370.07019.06
5.4.360.0270.05019.06
5.4.350.0170.04019.20
5.4.340.0300.07019.13
5.4.320.0200.06019.08
5.4.310.0430.05719.32
5.4.300.0230.07719.23
5.4.290.0300.06319.16
5.4.280.0100.04612.39
5.4.270.0050.04912.39
5.4.260.0070.04012.40
5.4.250.0060.04312.40
5.4.240.0070.04212.39
5.4.230.0110.03912.38
5.4.220.0100.03412.39
5.4.210.0080.03512.38
5.4.200.0040.04012.39
5.4.190.0100.03512.39
5.4.180.0060.05012.38
5.4.170.0090.04112.39
5.4.160.0100.03612.39
5.4.150.0070.03612.38
5.4.140.0050.03912.07
5.4.130.0060.03912.05
5.4.120.0100.03412.01
5.4.110.0070.03712.01
5.4.100.0110.03312.01
5.4.90.0040.04112.01
5.4.80.0050.04012.00
5.4.70.0090.03312.00
5.4.60.0070.04312.00
5.4.50.0070.03612.01
5.4.40.0030.03711.99
5.4.30.0080.04611.99
5.4.20.0120.04811.99
5.4.10.0050.03811.99
5.4.00.0120.04711.48
5.3.290.3900.04014.66
5.3.280.0090.05212.71
5.3.270.0130.04712.72
5.3.260.0070.04112.72
5.3.250.0090.03712.72
5.3.240.0090.03812.72
5.3.230.0060.04012.71
5.3.220.0080.05512.68
5.3.210.0080.04612.68
5.3.200.0140.03312.68
5.3.190.0090.04212.68
5.3.180.0090.03612.67
5.3.170.0110.03412.67
5.3.160.0070.03812.68
5.3.150.0090.04312.68
5.3.140.0080.04212.66
5.3.130.0090.04412.66
5.3.120.0080.04812.66
5.3.110.0140.03412.66
5.3.100.0070.03712.12
5.3.90.0060.03812.11
5.3.80.0080.04912.09
5.3.70.0070.04012.09
5.3.60.0110.04812.07
5.3.50.0060.04612.02
5.3.40.0090.03412.02
5.3.30.0090.03311.98
5.3.20.0100.04911.76
5.3.10.0080.03811.73
5.3.00.0090.03411.72
5.2.170.0050.0359.22
5.2.160.0070.0279.22
5.2.150.0030.0339.22
5.2.140.0070.0339.21
5.2.130.0060.0319.18
5.2.120.0030.0309.18
5.2.110.0040.0309.18
5.2.100.0040.0299.18
5.2.90.0070.0289.18
5.2.80.0040.0329.17
5.2.70.0040.0329.17
5.2.60.0060.0309.13
5.2.50.0040.0369.11
5.2.40.0070.0289.08
5.2.30.0060.0299.04
5.2.20.0070.0319.03
5.2.10.0080.0448.95
5.2.00.0060.0458.81
5.1.60.0090.0388.10
5.1.50.0040.0378.10
5.1.40.0060.0268.08
5.1.30.0060.0388.43
5.1.20.0040.0418.45
5.1.10.0050.0308.18
5.1.00.0080.0238.18
5.0.50.0040.0226.66
5.0.40.0030.0226.52
5.0.30.0070.0396.33
5.0.20.0060.0206.30
5.0.10.0040.0216.28
5.0.00.0020.0336.27
4.4.90.0050.0134.78
4.4.80.0040.0204.76
4.4.70.0040.0154.76
4.4.60.0030.0164.75
4.4.50.0020.0194.77
4.4.40.0050.0314.70
4.4.30.0080.0174.75
4.4.20.0040.0204.84
4.4.10.0070.0204.85
4.4.00.0030.0334.76
4.3.110.0030.0184.66
4.3.100.0020.0174.66
4.3.90.0050.0144.63
4.3.80.0060.0264.59
4.3.70.0020.0164.63
4.3.60.0040.0144.63
4.3.50.0030.0174.63
4.3.40.0040.0244.53
4.3.30.0020.0173.29
4.3.20.0020.0163.27
4.3.10.0010.0183.23
4.3.00.0070.01313.91

preferences:
139.74 ms | 1394 KiB | 7 Q