Blade - 将变量打印到变量中

Posted

技术标签:

【中文标题】Blade - 将变量打印到变量中【英文标题】:Blade - Print variable into variable 【发布时间】:2018-10-12 19:29:03 【问题描述】:

我正在尝试将一个变量打印到刀片模板中的另一个变量中。我有一个来自数据库的变量,其中包含来自另一个变量的“动态”数据。

例子:

$foo = 'user';
$bar = 'Hello $foo, how are you?';

在刀片中我正在这样做:

!! $bar !!

但结果是:

Hello $foo, how are you?

我尝试使用 ,但结果相同。

我无法连接这两个变量。例如:

$foo = 'user';
$bar = 'Hello ' . $foo . ', how are you?';

这是不可能的,因为我无法控制变量,它们是从数据库中动态填充的。

有什么想法/建议吗?

谢谢

【问题讨论】:

我不明白你为什么不能连接。其他人都是这样做的。 我猜你可以在使用 $foo 时连接变量,然后你可以使用变量$foo 并且正如你所说它是动态的,值可以是动态的,没有变量名 因为我在数据库中有两个变量的内容。两者都是字符串 echo $bar 还是双引号?应该没什么大不了的。 【参考方案1】:

如果输入不是直接来自用户,则使用eval函数,并删除...双花括号。您可以在.blade.php 文件中使用以下代码

@php
    $foo = 'user';
    $bar = eval('return "Hello $foo, how are you?";');
    echo $bar;
@endphp

你会得到输出为

Hello user, how are you?

【讨论】:

不错的答案。谢谢。【参考方案2】:

我认为这可能是晚了,但你可以考虑 sprintf()

    $name="Paras";
    $greeting=sprintf("Hello $name",$name);

【讨论】:

以上是关于Blade - 将变量打印到变量中的主要内容,如果未能解决你的问题,请参考以下文章

在会话中保存输入值,然后打印变量

Laravel 5 - 所有模板中都可用的全局 Blade 视图变量

如何从 Blade 格式 HTML 将 PHP 变量传递给 JavaScript 函数

如何在 Blade 模板中全局使用变量

我正在使用 Laravel + vue 通过 Blade 将变量传递给 vue 但它不显示

Laravel教程 三:视图变量传递和Blade