3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ABC { public static function parent($array, $keylist) { self::$array = $array; self::$keylist = $keylist; $keys = explode(",", self::$keylist); foreach($keys as $key) self::$array = self::recursion($key); } private static function recursion($key) { if(is_null(self::$array)) return; foreach(self::$array as $key_outer => $value_outer) { if($key === $key_outer) { unset(self::$array[$key_outer]); self::$array[$key_outer] = "**"; } else { if(is_array($value_outer)) { $v = self::recursion($value_outer, $key); if(!is_null($v)) { unset(self::$array[$key_outer]); self::$array[$key_outer] = $v; } else return; } } } } private static $array; private static $keylist; } $information = array("login" => "someUsername", "password" => "somePassword", "card_pin"=>"card_1234", "pin"=>"pin_356", "iin" => "iin_123", "shipping" => array("value" => array("telephone" => array("inner_value" => "telephone_998"))), "cardnumber" => "card_number_876", "customer_id" => "customer_654", "telephone" => "someOtherTelephoneNumber555"); $list = "telephone,login"; print_r($information); ABC::parent($information, $list); echo "===========\n"; print_r(ABC::$array);

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.70.0850.04772.81
8.3.60.0370.04075.48
8.3.50.0460.03376.36
8.3.40.0200.02347.42
8.2.180.0500.04075.52
8.2.170.0330.01843.75
8.1.280.0530.05073.83
7.4.10.0600.04770.37
7.4.00.0230.06370.60
7.3.130.0440.06570.54
7.3.120.0330.06970.71
7.3.110.0360.05670.53
7.3.100.0230.05370.51
7.3.90.0360.04570.49
7.3.80.0340.05170.19
7.3.70.0330.04970.52
7.3.60.0310.05570.50
7.3.50.0260.05070.63
7.3.40.0270.05770.14
7.3.30.0230.06070.33
7.3.20.0170.05378.63
7.3.10.0210.04178.63
7.3.00.0100.05278.68
7.2.260.0460.06570.75
7.2.250.0460.06370.88
7.2.240.0230.05770.54
7.2.230.0300.04970.47
7.2.220.0200.07070.89
7.2.210.0270.06470.81
7.2.200.0400.05370.68
7.2.190.0240.05770.70
7.2.180.0340.05770.41
7.2.170.0300.06070.70
7.2.160.0470.04070.63
7.2.150.0200.04778.95
7.2.140.0270.03778.86
7.2.130.2280.04378.79
7.2.120.0160.05278.98
7.2.110.0030.06178.84
7.2.100.0190.03878.89
7.2.90.0140.04479.03
7.2.80.0150.07678.91
7.2.70.0540.04879.00
7.2.60.0850.05778.71
7.2.50.0430.04978.99
7.2.40.0450.04978.87
7.2.30.0420.05279.10
7.2.20.0280.06278.87
7.2.10.0460.05278.91
7.2.00.0510.04779.93
7.1.330.0130.06977.74
7.1.320.0160.08577.83
7.1.310.0200.07277.78
7.1.300.0300.05777.50
7.1.290.0200.08077.77
7.1.280.0140.08877.71
7.1.270.0160.08277.80
7.1.260.0100.08177.85
7.1.250.0100.07377.80
7.1.240.0100.07677.57
7.1.230.0170.06677.77
7.1.220.0130.07977.85
7.1.210.0130.07477.68
7.1.200.0980.05277.73
7.1.190.0360.06677.83
7.1.180.0420.07477.76
7.1.170.0320.07577.68
7.1.160.0280.08677.89
7.1.150.0260.07577.82
7.1.140.0300.07477.74
7.1.130.0390.06977.52
7.1.120.0190.09477.50
7.1.110.0330.07477.97
7.1.100.9990.05368.39
7.1.90.0700.05777.61
7.1.80.0270.09077.94
7.1.70.0850.04268.21
7.1.60.0230.07478.45
7.1.50.0440.05978.12
7.1.40.0600.05777.84
7.1.30.0230.08777.57
7.1.20.0310.07877.65
7.1.10.0110.01111.33
7.1.00.0250.09281.14
7.0.330.0190.05877.45
7.0.320.0030.07777.41
7.0.310.0230.05677.36
7.0.300.1020.07077.41
7.0.290.0430.05477.34
7.0.280.0600.05277.56
7.0.270.0350.06377.16
7.0.260.0200.07277.20
7.0.250.0340.07577.13
7.0.240.0480.06077.29
7.0.230.0330.07377.61
7.0.220.0300.07877.30
7.0.210.0310.06577.54
7.0.200.2210.04773.79
7.0.190.0510.06177.40
7.0.180.0270.07577.57
7.0.170.0470.06877.64
7.0.160.0310.06877.18
7.0.150.0280.07277.12
7.0.140.0390.05577.50
7.0.130.0230.07277.53
7.0.120.0340.06977.57
7.0.110.0400.05577.44
7.0.100.0240.06977.32
7.0.90.0320.06077.55
7.0.80.0400.05877.30
7.0.70.0220.07277.43
7.0.60.0300.08276.46
7.0.50.0210.07675.53
7.0.40.0220.06816.98
7.0.30.0390.06416.76
7.0.20.0390.08016.67
7.0.10.0280.06216.78
7.0.00.0130.06916.62
5.6.400.0230.10679.48
5.6.390.0490.07978.98
5.6.380.0360.06879.34
5.6.370.0330.09379.10
5.6.360.0440.07578.87
5.6.350.0510.07679.28
5.6.340.0480.08179.00
5.6.330.0220.00511.33
5.6.320.0170.00611.33
5.6.310.0200.00311.33
5.6.300.0170.00011.33
5.6.290.0400.08479.29
5.6.280.0330.10482.54
5.6.270.0500.07779.12
5.6.260.0600.06679.18
5.6.250.0380.08578.89
5.6.240.0550.08179.34
5.6.230.0330.08979.20
5.6.220.0370.09079.45
5.6.210.0390.08082.21
5.6.200.0530.09581.04
5.6.190.0480.09181.93
5.6.180.0630.07881.97
5.6.170.0430.08482.11
5.6.160.0330.08482.09
5.6.150.0410.10580.88
5.6.140.0480.09080.99
5.6.130.0370.09080.95
5.6.120.0380.08382.46
5.6.110.0360.09682.45
5.6.100.0360.08782.39
5.6.90.0320.10482.34
5.6.80.0330.07682.09
5.6.70.0520.07278.92
5.6.60.0330.09078.92
5.6.50.0360.08279.21
5.6.40.0400.08478.83
5.6.30.0440.10179.21
5.6.20.0490.07479.02
5.6.10.0500.07079.09
5.6.00.0470.07779.08
5.5.380.0570.07579.38
5.5.370.0560.09578.91
5.5.360.0330.09779.04
5.5.350.2450.08682.16
5.5.340.0320.09580.94
5.5.330.0390.10682.03
5.5.320.0390.09981.90
5.5.310.0320.10081.97
5.5.300.0480.09980.90
5.5.290.0290.12480.88
5.5.280.0350.11582.30
5.5.270.0310.09382.36
5.5.260.0410.10882.33
5.5.250.0410.09082.07
5.5.240.0450.09082.00
5.5.230.0520.07879.21
5.5.220.0370.09578.85
5.5.210.0530.08579.07
5.5.200.0570.10179.05
5.5.190.0460.08279.14
5.5.180.0490.09279.01
5.5.170.0450.09079.01
5.5.160.0440.08878.83
5.5.150.0460.08879.02
5.5.140.0410.08678.63
5.5.130.0500.08378.96
5.5.120.0470.08478.66
5.5.110.0490.12578.83
5.5.100.0480.12779.13
5.5.90.0430.10178.90
5.5.80.0410.09379.15
5.5.70.0330.14078.69
5.5.60.0610.10279.02
5.5.50.0480.08578.51
5.5.40.0390.08578.97
5.5.30.0270.09679.23
5.5.20.0420.08779.16
5.5.10.0320.09979.04
5.5.00.0370.09078.77

preferences:
35.75 ms | 401 KiB | 5 Q