请告诉我,我的错误是什么:
$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];
}
我要做的是选择一个随机名称,并确保下一个随机名称与现在不同。
答案 0 :(得分:0)
我认为,你在某些功能中有这个代码。当您退出该功能并再次调用另一个名称时,您可以像以前一样使用相同的数组,因为没有在任何地方保存' 修改后的数组;
正如评论中所建议的那样,你可以使用shuffle和shift:
class gimmeName{
public $array = array('Tisha', 'Vesta', 'Josephine');
public function giveMeUniqueName(){
shuffle($this->array);
return array_shift($this->array);
}
}
在这里工作演示:demo