【问题标题】:Can't use ?? in blade template, Laravel不能用??在刀片模板中,Laravel
【发布时间】:2021-11-21 16:18:01
【问题描述】:

我写了这段代码 <p>{{ $name or 'hello' }}</p>, 但它只返回 1。我读到它是 Laravel 5.7 中使用的语法,而不是更高的语法,并将我的代码更改为此 <p>{{ $name ?? 'hello' }}</p>。 但是这段代码什么也没返回。请帮帮我。

【问题讨论】:

  • 你使用的是什么版本的 PHP?
  • 版本 php 8.0
  • 请发布返回此视图的控制器方法
  • public function show() { return view('test.show', ['name' => '', 'age' => '36', 'salary' => '500']); }

标签: php laravel laravel-blade


【解决方案1】:

改用三元运算符

<p>{{ $name ?: 'hello' }}</p>

??null 合并运算符,在您的情况下,$name 不是空字符串而是空字符串。

https://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary

【讨论】:

    猜你喜欢
    • 2014-04-03
    • 2013-04-29
    • 2014-11-15
    • 2016-04-04
    • 2019-03-31
    • 2017-10-08
    • 2017-04-03
    • 2018-05-31
    相关资源
    最近更新 更多