<?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 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- 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.5.24 - 5.5.35, 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: Call to undefined function recursion() in /in/bEQd5 on line 33
Process exited with code 255.
preferences:
156.15 ms | 402 KiB | 184 Q