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);
Output for git.master, git.master_jit, rfc.property-hooks
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.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
66.96 ms | 402 KiB | 8 Q