我有大约50个字符串。
$rand = rand(0,50);
$name[1] = "Jane";
$name[2] = "Marienne";
...
...
...
$name[50] = "Mary";
echo $name[$rand];
例如,如果$rand=="2",我想回显"Marienne"。但是上面的代码不起作用。我不想使用if语句,因为字符串太多了。你给我什么建议?谢谢
如果您没有像未初始化的$name[0]
键那样的"DOH"时刻,那么您发布的代码应该可以工作。
然而,如果你想完全避免这个问题,你可以使用array_rand
docs函数来挑选一个(伪)随机数组密钥:
$names = array('Peter', 'Paul', 'John');
echo $names[array_rand($names)];
或者,与其在50
中硬编码作为随机范围内的最大值,为什么不试试:
rand(0, count($names)-1);