<?php
class Recursion
{
private static function printArray()
{
print_r(self::$array);
}
public static function recursionInitiatorParent($information, $list)
{
self::$array = $information;
self::$keylist = $list;
$keywords = explode(",", self::$keylist);
echo "Before: \n\n";
self::printArray();
foreach($keywords as $key)
self::recursionInitiator(self::$array, $key);
echo "\n======================================= \n\n";
self::printArray();
}
private static function recursionInitiator($array, $key)
{
if(count($array) < 1)
return;
foreach($array as $record)
{
if(is_array($record))
recursionInitiator($record, $key);
else
{
foreach($record as $key_internal=>$value_internal)
if($key_internal === $key)
$value_internal = self::$asterisk;
}
}
}
private static $asterisk = "**";
private static $array;
private static $keylist;
}
$information = array("login" => "someUsername",
"password" => "somePassword",
"card_pin"=>"card_1234",
"pin"=>"pin_356",
"iin" => "iin_123",
"shipping" => array("telephone" => "telephone_998"),
"cardnumber" => "card_number_876",
"customer_id" => "customer_654");
$list = "telephone,iin";
Recursion::recursionInitiatorParent($information, $list);
preferences:
54.28 ms | 402 KiB | 5 Q