Maison > Questions et réponses > le corps du texte
P粉2768766632023-09-03 17:53:34
Comme mentionné dans les commentaires de @apokryfos :
\Illuminate\Support\Arr::last(old('g3') ?? []) != 3
Sur la base de vos commentaires, la démo suivante devrait suffire :
<div> @php($data = [1 => "举重", 2 => "慢跑", 3 => "睡觉"]) <select name="g3[]" id="g3" multiple> @foreach($data as $id => $v) <option value="{{$id}}" {{in_array($id, old('g3') ?? []) ? 'selected' : ''}}> {{$v}} </option> @endforeach </select> <div style="display: {{!in_array(array_flip($data)["睡觉"], old('g3') ?? []) ? 'none': ''}};"> 不可见</div> </div>
P粉5961919632023-09-03 12:59:05
Si votre old
值是array
,你可以使用in_array
substitut.
Vérificationold('g3')
是否存在,然后检查value
是否在数组old('g3')
In
<select name="g3[]" multiple="multiple"> <option value="1" @if (old('g3') && in_array('1', old('g3'))) selected @endif >lifting</option> <option value="2" @if (old('g3') && in_array('2', old('g3'))) selected @endif >jogging</option> <option value="3" @if (old('g3') && in_array('3', old('g3'))) selected @endif >sleeping</option> </select>
Comment obtenir le dernier élément d'un tableau, vous pouvez essayer ceci
La fonction
array_values() renvoie un tableau contenant toutes les valeurs du tableau.
Astuce : Le tableau renvoyé aura des touches numériques, commençant à 0 et augmentant progressivement.
@if (old('g3')) @php $size = count(array_values(old('g3'))); $lastElement = old('g3')[$size - 1]; @endphp // 做一些操作 @endif