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; } } } } } 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);
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.31, 7.4.0 - 7.4.33, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.1, 8.1.28, 8.2.18, 8.3.5 - 8.3.6
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 ) Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 262144 bytes) in /in/DBdYv on line 33
Process exited with code 255.
Output for 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
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 ) Fatal error: Out of memory (allocated 31457280 bytes) (tried to allocate 262144 bytes) in /in/DBdYv on line 33 mmap() failed: [12] Cannot allocate memory mmap() failed: [12] Cannot allocate memory
Process exited with code 255.
Output for 8.1.2 - 8.1.27
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 ) Fatal error: Out of memory (allocated 31457280) (tried to allocate 262144 bytes) in /in/DBdYv on line 33 mmap() failed: [12] Cannot allocate memory mmap() failed: [12] Cannot allocate memory
Process exited with code 255.
Output for 7.3.32 - 7.3.33, 8.0.13
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 ) Fatal error: Out of memory (allocated 130023424) (tried to allocate 262144 bytes) in /in/DBdYv on line 33 mmap() failed: [12] Cannot allocate memory mmap() failed: [12] Cannot allocate memory
Process exited with code 255.
Output for 5.6.8 - 5.6.28
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 ) Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 72 bytes) in /in/DBdYv on line 21
Process exited with code 255.
Output for 5.5.24 - 5.5.35
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 ) Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 130968 bytes) in /in/DBdYv on line 33
Process exited with code 255.

preferences:
162.25 ms | 402 KiB | 183 Q