Returns the next name to use
string
private function getNextVariableName() {
$firstChars = self::FIRST_CHARS;
$firstCharsLength = strlen($firstChars);
$nonFirstChars = self::NON_FIRST_CHARS;
$nonFirstCharsLength = strlen($nonFirstChars);
while (true) {
$name = '';
$i = $this->variableCount;
if ('' === $name) {
$name .= $firstChars[$i % $firstCharsLength];
$i = intval($i / $firstCharsLength);
}
while ($i > 0) {
$i -= 1;
$name .= $nonFirstChars[$i % $nonFirstCharsLength];
$i = intval($i / $nonFirstCharsLength);
}
$this->variableCount += 1;
// check that the name is not reserved
if (in_array($name, $this->reservedVariables, true)) {
continue;
}
return $name;
}
}