Строковое эхо без - PullRequest
       25

Строковое эхо без

0 голосов
/ 12 февраля 2012

У меня как 50 строк.

$rand = rand(0,50);

$name[1] = "Jane";
$name[2] = "Marienne";
...
...
...
$name[50] = "Mary";

echo $name[$rand];

Я хочу повторить "Marienne", если $ rand == "2", например. Но приведенный выше код не работает. И я не хочу использовать оператор if, потому что там слишком много строк. Что вы мне предлагаете? Спасибо.

1 Ответ

2 голосов
/ 12 февраля 2012

Ваш опубликованный код должен работать, если у вас нет моментов "DOH", таких как неинициализированный ключ $name[0].

Однако, если вы хотите полностью избежать этой проблемы, вы можете использовать функцию array_rand docs , чтобы выбрать (псевдо) ключ случайного массива :

$names = array('Peter', 'Paul', 'John');
echo $names[array_rand($names)];

В качестве альтернативы, вместо жесткого кодирования в 50 в качестве максимального значения в случайном диапазоне, почему бы не попробовать:

rand(0, count($names)-1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...