@userAgent122

Функция PHP сохранила значение?

Доброго дня! Суть вопроса, есть функция, например:
<?php
function test(){
return rand(1, 5);
}
?>
Если бы вызовем ее в коде в разных местах, то всегда будет разное значение. Возможно ли как то сделать чтобы она сохранило свое значение при пером вызове, и на всех последующих выдавало его? Да, да я знаю что можно сделать так:
$t = test();
Но этот вариант не подходид.
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 4
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
<?php
function test(){
    if (empty($GLOBALS['my_special_test_value'])) $GLOBALS['my_special_test_value'] = rand(1, 5);
    return $GLOBALS['my_special_test_value'];
}
?>
Ответ написан
mahmudchon
@mahmudchon
@sidni
Php Developer
Это вам не "...мыслить агрегатами..."))))))))))))))))))))))))))
function test() {
    static $res = null;
    if ($res === null) {
        $res = rand(1, 5);
    }
    return $res;
}

вообще-тo так не делают...
Ответ написан
Комментировать
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
userAgent122 ещё можно
так
$std = function()use(&$rand): stdClass
{
    return (object) ['rand' => $rand ?? $rand = rand(1, 5)];
};

var_dump( $std()->rand );
var_dump( $std()->rand );

Или вовсе
так
$std = (object) ['rand' => rand(1, 5)];
var_dump( $std->rand );
var_dump( $std->rand );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы