【问题标题】:Blade - Print variable into variableBlade - 将变量打印到变量中
【发布时间】: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 还是双引号?应该没什么大不了的。

标签: php laravel laravel-5 blade


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 2016-03-15
    相关资源
    最近更新 更多