PHP:检查两个随机单词是否不相同

时间:2015-06-23 07:24:18

标签: php

我正在研究昵称生成器工具。我有两个带有第一个和第二个音节数组的.json文件。

第一个音节=单词的开头。

第二个音节=单词的结尾。

以下是该工具如何生成随机昵称:

$name = ucwords($first_syllable[rand(0, count($first_syllable) - 1)] . $second_syllable[rand(0, count($second_syllable) - 1)]);

这很好用,但现在我需要检查第一个音节与第二个音节不同。

例如,我在数组中有第一个音节“Dal”,我也有第二个音节“Dal”。我不希望该工具生成“Daldal”。这就是为什么我需要检查第一个音节是否与第二个音节不同。

任何帮助都非常感激。

3 个答案:

答案 0 :(得分:4)

检查它们是否相同 -

$name1 = $first_syllable[rand(0, count($first_syllable) - 1)]; 
$name2 = $second_syllable[rand(0, count($second_syllable) - 1)];

if (strtolower($name1) !== strtolower($name2)) {
    $name = ucwords($name1 . $name2);
}

答案 1 :(得分:1)

$firstS = ucwords($first_syllable[rand(0, count($first_syllable) - 1)]);
$secondS = ucwords($second_syllable[rand(0, count($second_syllable) - 1)]);

if($firstS != $secondS)
  $name = $firstS.$secondS;

答案 2 :(得分:1)

最简单的解决方案是将所选值存储在变量中,然后循环直到它们不同。

循环将确保您的两个值不同。

代码示例(未测试):

<?php
$second_syllable_value = '';
$first_syllable_value = '';
while ($second_syllable_value == $first_syllable_value)
{
    $first_syllable_value = $second_syllable[rand(0, count($second_syllable) - 1)];
    $second_syllable_value = $second_syllable[rand(0, count($second_syllable) - 1)];
}
?>

小心数组长度,因为你可能会陷入无限循环。