<html>
<p>
<?php
// Create an array and push on the names
// of your closest family and friends
$name = array();
array_push($name,"Mike");
array_push($name,"Jane");
array_push($name,"Jack");
array_push($name,"Nike");
array_push($name,"Ash");
array_push($name,"Chris");
array_push($name,"Zark");
// Sort the list
sort($name);
join(",",$name);
// Randomly select a winner!
$random = count($name,rand(0,7));
// Print the winner's name in ALL CAPS
$winner = strtoupper($random);
print($winner);
?>
</p>
</html>
答案 0 :(得分:11)
$random = count($name,rand(0,7));
此行指定$name
中元素的数量。除了这里的数字之外,我不知道你还期待什么回来。
你真正想要的是什么:
echo strtoupper($name[array_rand($name)]);
http://php.net/manual/en/function.array-rand.php
其他注释:
join()
的来电并没有做任何有用的事情,因为您没有对返回值做任何事情。sort
的来电毫无意义。$names
代替$name
。array_push()
,只需使用数组文字:array('Mike', 'Jane', /* etc */)
htmlspecialchars()
确保正确转义任何保留字符。这不是您在这里所拥有的代码的问题,但只要您想输出<
或"
。