【发布时间】:2021-02-01 02:37:37
【问题描述】:
我正在使用Laravel Framework 6.20.12 和PHP 7.4.1。
我创建了一个自定义刀片指令:
$blade->directive('randomValFromArr', function ($expression) {
return '<?php $array=' . $expression . '; $val = array_rand($array, 1); echo $array[$val]; ?>';
});
这个指令基本上是从值数组中选择一个随机值并输出它。
如果我在我的*.blade.php 文件中使用它 2 次,我会为这两个函数得到相同的数组输出,或者换句话说,相同的键:
@randomValFromArr(["1", "2", "3", "4"])
@randomValFromArr(["1", "2", "3", "4"])
{{--
OUTPUT:
1
1
--}
在我看来,刀片引擎只计算一次指令,然后在模板中使用它。
关于如何为我的@randomValFromArr-functionm 的每次出现真正获取随机值或唯一值的任何建议,例如:
@randomValFromArr(["1", "2", "3", "4"])
@randomValFromArr(["1", "2", "3", "4"])
{{--
OUTPUT:
3
1
--}
感谢您的回复!
【问题讨论】:
-
一种方法可能是在删除随机生成的值后将数组存储在用户的会话中。
标签: php laravel laravel-blade