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

@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。使用 (a ? b : c) ? d : ea ? b : (c ? d : e)

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

我认为这清楚地表明您应该在此处添加额外的括号:

$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中读到的:

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

本文链接:https://www.f2er.com/1201580.html

大家都在问