Php 谁能找到并帮助我这个错误是关于什么的? @foreach($id\u卡作为$id\u卡) id==$card\U id?“已选择“:旧的(“身份证”)=$id\U卡->身份证?“选定”:“”):“”}>{{{$id_卡->标题} @endforeach

Php 谁能找到并帮助我这个错误是关于什么的? @foreach($id\u卡作为$id\u卡) id==$card\U id?“已选择“:旧的(“身份证”)=$id\U卡->身份证?“选定”:“”):“”}>{{{$id_卡->标题} @endforeach,php,laravel,laravel-blade,php-8,Php,Laravel,Laravel Blade,Php 8,错误是: “unparenthesiseda?b:c?d:e已被弃用。请使用(a?b:c)-d:e或a?b:(c?d:e)我认为这是明确的建议,您应该在此处添加额外的括号: @foreach($id_cards as $id_card) <option value="{{$id_card->id}}" {{isset($card_id) ? ($id_card->id == $card_id ? 'selected': old("id_ca

错误是:
“unparenthesised
a?b:c?d:e
已被弃用。请使用
(a?b:c)-d:e
a?b:(c?d:e)

我认为这是明确的建议,您应该在此处添加额外的括号:

@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
例如:

$id_card->id == $card_id ? 'selected': old("id_card") == $id_card->id ? "selected":""
正如您在中所读到的:

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


你能解释一下吗?谢谢,我试试。。。
$id_card->id == $card_id ? 'selected': (old("id_card") == $id_card->id ? "selected":"")