随机名称不重复自我

时间:2016-09-23 14:08:00

标签: php random

请告诉我,我的错误是什么:

$myarrayofnames = ["Tisha","Vesta","Josphine"];
$randompick = array_rand($myarrayofnames,1);
if($myarrayofnames[$randompick] === "Tisha") {
  $myarrayofnames = ["Vesta","Josphine"];
  return $myarrayofnames[$randompick];
}
elseif($myarrayofnames[$randompick] === "Vesta") {
  $myarrayofnames = ["Tisha","Josphine"];
  return $mymyarrayofnames[$randompick];
}
elseif($myarrayofnames[$randompick] === "Josphine") {
  $myarrayofnames = ["Tisha","Vesta"];
  return $mymyarrayofnames[$randompick];
}

我要做的是选择一个随机名称,并确保下一个随机名称与现在不同。

1 个答案:

答案 0 :(得分:0)

我认为,你在某些功能中有这个代码。当您退出该功能并再次调用另一个名称时,您可以像以前一样使用相同的数组,因为没有在任何地方保存' 修改后的数组;

正如评论中所建议的那样,你可以使用shuffle和shift:

class gimmeName{

public $array = array('Tisha', 'Vesta', 'Josephine');

public function giveMeUniqueName(){
    shuffle($this->array);
    return array_shift($this->array);
}
}

在这里工作演示:demo