function createUniqueName($name, $i = 0)
{
$names = array('backup');
if($i != 0) {
$newname = $name.'-'.$i;
} else {
$newname = $name;
}
if(in_array($newname, $names)) {
$newname = createUniqueName($name, $i++);
}
return $newname;
}
echo createUniqueName('backup', 0);
残念ながら、これによりメモリリークが発生し、その理由はわかりません。通常の再帰です。何か案は?
受け取ったエラーは次のとおりです。
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 130968 bytes) in /Users/Tim/Sites/tests/uniquename.php on line 16