$value = &$post_price;
$post_price = rand(200, 2000);
Проблема в том, что PHP передает в $value не число, а саму функцию, и получается, что во время перезагрузки страницы меняется число.Неправда. Передается именно число, но при каждом запуске этот код выполняется заново, и число меняется.
$value = &$post_price;
$post_price = rand(200, 2000);
echo $post_price . "<br>\n" . $post_price . "<br>\n" . $post_price; // три раза выведется одинаковое число
// но при обновлении страницы число будет другое
seed
if (isset($_SESSION["rand_price"]) === false) {
$_SESSION["rand_price"] = rand(100, 500);
}
echo $_SESSION["rand_price"];