php - Blade - 自定义指令的不同随机数
问题描述
我正在使用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]; ?>';
});
该指令基本上从值数组中选择一个随机值并将其输出。
如果我在我的文件中使用它 2 次,我*.blade.php
会为这两个函数获得相同的数组输出,或者换句话说,相同的键:
@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
--}
感谢您的回复!
解决方案
Blade 将在每次调用时计算指令;否则,我们怎么能传入参数,如果你传入不同的数组呢?
我测试了你的代码,它按预期工作。
推荐阅读
- swift - Swift - 使用 UIKeyboardWillChangeFrame 时关闭键盘并调用 TouchUpInside 按钮同时不起作用
- sql - 关键字“right”附近的语法不正确
- javascript - 如何将post ajax请求的值存储到var?
- sas - 从单独的 .egp 文件导入宏变量?
- html - 不工作引导轮播控件底部
- visual-studio-code - VS Code 任务流程stdout/stderr
- r - 在r plotly气泡图中设置标记内的文本大小
- wordpress - 如何为使用 ACF 构建的自定义 WordPress 主题添加多语言支持
- python - 嵌套 For 循环复制索引集中的最后一行
- c# - 嗅探集群状态失败。Nest 7.4 访问 Elastic 7.2.0