Как выбрать случайное знаниче массива?
меняется если обновить страницу, а если просто открывать новую вкладку с сайтомВ чём разница между этими двумя действиями?
У вас кеш какой-то срабатывает, судя по описанию, к php эта проблема не имеет никакого отношения. Php не знает "обновили" вы страницу или "просто открыли новую вкладку". Он просто всегда генерирует случайное* значение.
Если у вас в массиве мало значений, то вероятность получения одного и того же подряд относительно большая.* Псевдослучайное, на самом деле.
Как-то это подозрительно. Массив же у вас содержит более двух значений? Сколько раз открывали новую вкладку и видели один и тот же элемент? Элементы в массиве не повторяются?