UnificatorHelper.php
774 Bytes
<?php
namespace artbox\core\helpers;
class UnificatorHelper
{
/**
* Helper which returns unique value according to checker function
* Checker function must return boolean
*
* @param string $value
* @param callable $checker
*
* @return string
*/
public static function unify(string $value, callable $checker): string
{
$baseVal = $value;
$index = 1;
do {
$result = call_user_func($checker, $value);
if (!$result) {
$value = $baseVal . ' ' . $index;
}
$index++;
} while (!$result);
return $value;
}
}