Ваш опубликованный код должен работать, если у вас нет моментов "DOH", таких как неинициализированный ключ $name[0]
.
Однако, если вы хотите полностью избежать этой проблемы, вы можете использовать функцию array_rand
docs , чтобы выбрать (псевдо) ключ случайного массива :
$names = array('Peter', 'Paul', 'John');
echo $names[array_rand($names)];
В качестве альтернативы, вместо жесткого кодирования в 50
в качестве максимального значения в случайном диапазоне, почему бы не попробовать:
rand(0, count($names)-1);