Для правильного вопроса надо знать половину ответа
Ну да. Сгенерировать список случайных значений, отсортировать их по возрастанию и взять только последнее. И что это 1 и 2 никогда не попадаются? И почему это 10 чаще всего выпадает?
Замените весь этот бред на одну строку. return $items[rand(0, count($items) - 1)];