PHP问题。循环还是If语句?

PHP问题。循环还是If语句?,php,function,loops,Php,Function,Loops,我试图在编写基本应用程序的同时学习PHP。我想要一个将旧单词放入数组的过程$oldWords=array;因此,所有已使用的$words都使用数组\u pusholdWords$words插入 每次执行代码时,我都需要一个从$wordList=array中查找新词的进程。。。。但是,我不想选择任何已经使用过或在$oldWords中的单词 现在我在想我该怎么做。我一直在考虑通过$wordChooser=rand 1,$totalWords找到一个新词;我一直在考虑使用if/else语句,但问题是如

我试图在编写基本应用程序的同时学习PHP。我想要一个将旧单词放入数组的过程$oldWords=array;因此,所有已使用的$words都使用数组\u pusholdWords$words插入

每次执行代码时,我都需要一个从$wordList=array中查找新词的进程。。。。但是,我不想选择任何已经使用过或在$oldWords中的单词

现在我在想我该怎么做。我一直在考虑通过$wordChooser=rand 1,$totalWords找到一个新词;我一直在考虑使用if/else语句,但问题是如果array_search$word,$doneWords找到一个单词,那么我需要更新该单词并再次检查它

这个过程似乎非常低效,我正在考虑一个循环函数,但是,哪一个,什么是解决这个问题的好方法


谢谢

我有点困惑,PHP在脚本执行结束时死亡。不管您如何生成这个数组,您是否可以同时从单词列表中生成哪些单词没有被使用?数组从所有单词到已用单词的差异

或者,如果我遗漏了另一个原因,为什么不能使用一个循环并快速找到$wordList中不在On中$oldWord中的第一个单词

或者,只需执行效率较低的数组差异,因为最好的情况是它必须遍历整个数组,而对于上面的数组,它只需遍历第一个字

编辑:用于随机


或者,除非您对创建自己的数据类型感兴趣,否则最好的情况可能是在Ologn

数组中循环并使用if语句(如果已研究的单词存在),否则创建一个新词。哪个look语句?你们能分享一个简单的例子吗?哦,若单词匹配,$found==0$找到=1个其他{重置单词?}哦。我想如果搜索到的单词存在,如果不将其放入数组中,您会希望显示它。我希望我已经进行了加密,单词选择必须保持随机。所有单词都在数组$allWords=arrayword1,word2。。。;是的,就是这样!现在我想我关心的是,当没有新词的时候。该函数将输出什么?它将输出警告,但不会使脚本失败。例如,您可以添加一个检查,如果count$newWordArray>0,则可以在执行此操作之前添加该检查,以避免出现警告。
function generate_new_word() {
    foreach ($wordList as $word) {
        if (in_array($word, $oldWords)) {
            return $word; //Word hasn't been used
        }
    }
    return null; //All words have been used
}
$newWordArray = array_diff($allWords, $oldWords); //List of all words in allWords that are not in oldWords
$randomNewWord = array_rand($newWordArray, 1);//Will get a new word, if there are any