我有一个函数可以生成一个必须每次都是唯一的4个字符的密钥。为此,函数首先生成一个密钥,然后检查数据库表以查看其他人是否正在使用它。如何在自己内部调用函数?
如果它没有被使用,它会返回键,否则它会再次调用它自己,但是这会导致函数做一个无限循环,这是一个不允许的。这是整个功能:
function key_generator($length = 4)
{
// I've subsequently left out the generating code,
// which is not necesarry in this case
$key = 'xxxx';
if ($this->user_model->valid_key($key) == true)
{
return $key;
}
else
{
$this->key_generator(4);
}
}
什么是再次调用函数的正确方法?
顺便说一句,我使用CodeIgniter,因此$this
。
它被称为递归 – Makach 2009-10-23 09:07:24
此外,$这不是独家笨。 – 2009-10-23 09:14:18
我想他只是解释$ this的来源以及为什么它没有在代码片段中定义。 – JAL 2009-10-24 03:59:52