У меня есть функция, которая генерирует ключ из 4 символов, который должен быть уникальным для каждого времени. Для этого функция сначала генерирует ключ, а затем проверяет таблицу базы данных, чтобы узнать, используется ли она кем-то другим.Как вызвать функцию внутри себя?
Если он не используется, он возвращает ключ, иначе он снова вызывает себя, но это заставляет функцию выполнять бесконечный цикл, который является no-no. Вот и вся функция:
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
Кроме того, $ это не только для CodeIgniter. –
Я думаю, он просто объяснял, откуда это взялось и почему он не определен в фрагменте кода. – JAL