如果php中存在用户名,是否执行while循环?

如果php中存在用户名,是否执行while循环?,php,wordpress,do-while,Php,Wordpress,Do While,我试图让下面的函数返回一个附加了数字的修改过的用户名。对于每个相同的用户名,该数字应增加1。我调用wordpress函数username_exists()来检查匹配项。请帮忙。谢谢 function change_username($name) { $q = username_exists($name); $i = 0; do { $name = $name . $i++; } while ($q); return $name; } 您不能“保存”

我试图让下面的函数返回一个附加了数字的修改过的用户名。对于每个相同的用户名,该数字应增加1。我调用wordpress函数username_exists()来检查匹配项。请帮忙。谢谢

function change_username($name) {

  $q = username_exists($name);
  $i = 0;

   do {
       $name = $name . $i++;
   } while ($q);

   return $name;
}
您不能“保存”计算结果。此外,您必须将名称的固定部分单独存储。使用
while
循环执行这两种操作,如下所示:

$baseName = $name;
$i = 0;

while(username_exists($name)) {
    $name = $baseName . (++$i);
}

return $name;
您不能“保存”计算结果。此外,您必须将名称的固定部分单独存储。使用
while
循环执行这两种操作,如下所示:

$baseName = $name;
$i = 0;

while(username_exists($name)) {
    $name = $baseName . (++$i);
}

return $name;

使用此解决方案,我如何连接分隔符来区分“$baseName”和“$I”,例如“$baseName”。+”。(++$i);'不起作用。@JacobiOjera:如果你开始这样做,那么使用
sprintf
可能更容易阅读,例如
$name=sprintf(“%s-%d”,$baseName,++$i)
。否则它只是字符串连接,
$baseName.'+'(++$i)
。使用此解决方案,如何连接分隔符来区分'$baseName'和'$i',例如'$baseName.'+'。(++$i);'不起作用。@JacobiOjera:如果你开始这样做,那么使用
sprintf
可能更容易阅读,例如
$name=sprintf(“%s-%d”,$baseName,++$i)
。否则它只是字符串连接,
$baseName.'+'(++$i)