1

我正在尝试这样做,以便在$hello输入其中一个单词时随机选择其中一个单词$bye并显示它。在我尝试它的那一刻,它只显示 0、1 或 2。我该如何解决这个问题,所以它会随机给我$bye数组中的一个单词。

<?php
$words = $_POST['words'];
$hello = array('hello', 'hi', 'yo', 'sup');
$bye = array('bye', 'seeya', 'aurevoir');
$words = preg_replace('/\b('.implode('|', $hello).')\b/i', '<span class="highlight">'.array_rand($bye).'</span>', $words);
echo $words;
?>
4

4 回答 4

1
$index = array_rand($bye);
echo $bye[$index];
于 2013-02-21T06:15:29.950 回答
0
$hello = array("Hi", "Hola", "Yo dawg! I heard you liked words in your hello!");
$bye = array("Later","Hasta Luego","Guten Tag");
echo $bye[array_rand($hello)];
于 2013-02-21T06:15:19.377 回答
0

你可以使用数组preg_replace

$words="this is any text bye";
$bye = array('/bye/', '/seeya/', '/aurevoir/'); //pattern

$hello=array('hello', 'hi', 'yo');  //$replacements
shuffle($hello);

echo preg_replace($bye, $hello, $words);
于 2013-02-21T06:15:53.603 回答
0

我没有清楚地理解你的问题,如果你想从$bye数组中选择一个随机项,如果$word$hello数组中,试试这个:

$hello = array('hello', 'hi', 'yo', 'sup');
$bye = array('bye', 'seeya', 'aurevoir');
if(in_array($word,$hello))
    echo $bye[array_rand($bye)];
else
    echo "word is not in hello array";
于 2013-02-21T06:25:32.277 回答