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 = 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);

preferences:
48.06 ms | 402 KiB | 5 Q