谁能找到并帮助我这个错误是关于什么的?

2022-08-29 00:00:00 php laravel laravel-blade php-8
@foreach($id_cards as $id_card)
    <option value="{{$id_card->id}}" {{isset($card_id) ? ($id_card->id == $card_id ? 'selected': old("id_card") == $id_card->id ? "selected":""):""}}>{{$id_card->title}}</option>
@endforeach
错误为: 不建议使用无括号a ? b : c ? d : e(&Q;)。使用(a ? b : c) ? d : ea ? b : (c ? d : e)


解决方案

我认为这是明确表示您应该在此处添加附加括号:

$id_card->id == $card_id ? 'selected': old("id_card") == $id_card->id ? "selected":""

收件人例如:

$id_card->id == $card_id ? 'selected': (old("id_card") == $id_card->id ? "selected":"")

您可以读入PHP manual:

建议避免堆叠&q;三元表达式。与其他语言相比,在一条语句中使用多个三元运算符时,PHP的行为并不明显。事实上,在PHP8.0.0之前,三元表达式是从左到右计算的,而不是像大多数其他编程语言那样从右到左进行计算。

相关文章