3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?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 = 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);
based on 61s9X
Output for 7.0.0 - 7.2.0
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: Uncaught Error: Call to undefined function recursion() in /in/bEQd5:33 Stack trace: #0 /in/bEQd5(13): ABC::recursion('telephone') #1 /in/bEQd5(61): ABC::parent(Array, 'telephone,login') #2 {main} thrown in /in/bEQd5 on line 33
Process exited with code 255.
Output for 5.3.19 - 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: Call to undefined function recursion() in /in/bEQd5 on line 33
Process exited with code 255.