可能的重复:
javascript:递归匿名函数?
匿名递归 PHP 函数
我想知道......是否可以使用匿名函数进行递归?
下面是一个例子:我需要得到可能只包含数字和空格的六字符长字符串。唯一的规则是它不能以空格开头或结尾。我们检查它,如果发生这种情况 - 只需在相同的匿名函数上调用递归。究竟如何!?
function() {
$chars = range(0, 9);
$chars[] = ' ';
length = 6;
$count = count($chars);
$string = '';
for ($i = 0; $i < $length; ++$i) {
$string .= $chars[mt_rand(0, $count - 1)];
}
$string = trim($string);
if (strlen($string) !== $length) { // There were spaces in front or end of the string. Shit!
// Do recursion.
}
return $string;
}