如何在laravel blade上的for循环中设置值

6yt4nkrj  于 2023-01-06  发布在  其他
关注(0)|答案(9)|浏览(292)
<select id="year" name="year" class="form-control ">
    {{ $last= date('Y')-120 }}
    {{ $now = date('Y') }}

      @for ($i ={{ $now }}; $i <= {{ $last }}; $i--)
         <option value="{{ $i }}">{{ $i }}</option>
      @endfor               
</select>

我收到错误消息Parse error: syntax error, unexpected '<'
看起来变量无法读取。
如何在for循环中设置值?

yb3bgrhw

yb3bgrhw1#

基本上{{ $last= date('Y')-120 }}在这一部分中你显示的是值,但是你需要赋值,所以赋值如下:

<?php $last= date('Y')-120; ?>

对于for循环也是如此。只是比较值。不要把它放在blade语法中。

<select id="year" name="year" class="form-control ">
    {{ $last= date('Y')-120 }}
    {{ $now = date('Y') }}

    @for ($i = $now; $i >= $last; $i--)
        <option value="{{ $i }}">{{ $i }}</option>
    @endfor
</select>
pu82cl6c

pu82cl6c2#

使用@for ($i = $now; $i <= $last; $i--)不适合我,所以我必须使用递增计数

<div class="form-group">
  <label for="task" class="col-sm-1 control-label">Text</label>
     @for ($i = 0; $i < $count; $i++)
       <div class="col-sm-12">
           <input type="text" name="text[{{ $i }}]" id="text[{{ $i }}]" class="form-control">
      </div>
     @endfor
</div>
woobm2wo

woobm2wo3#

执行此操作的最佳方法是使用range()foreach()
示例:

@foreach(range(date('Y')-5, date('Y')) as $y)
    {{$y}}
@endforeach

结果

2014 2015 2016 2017 2018 2019

文件:

yb3bgrhw

yb3bgrhw4#

将视图更改为:

<select id="year" name="year" class="form-control ">
    <?php $last= date('Y')-120; ?>
    <?php $now = date('Y'); ?>

    @for ($i = $now; $i <= $last; $i--)
        <option value="{{ $i }}">{{ $i }}</option>
    @endfor
</select>
zpjtge22

zpjtge225#

你可以写

<select id="year" name="year" class="form-control ">
    {{ $last= date('Y')-120 }}
    {{ $now = date('Y') }}

    @for ($i = $now ; $i <=  $last ; $i--)
    <option value="{{ $i }}">{{ $i }}</option>
    @endfor               
</select>

它将解决您的错误。

xesrikrc

xesrikrc6#

希望这会有帮助。

<select id="year" name="year" class="form-control">
    {{-- */$last= date('Y')-120;/* --}}
    {{-- */$now = date('Y');/* --}}
    @for ($i = $now; $i <= $last; $i--)
    <option value="{{ $i }}">{{ $i }}</option>
    @endfor               
</select>

它会解决你的错误,但是如果你从控制器传递你的$last和$now变量会更好。
谢啦,谢啦

jc3wubiy

jc3wubiy7#

对于一个月的天,你可以这样做在laravel

<select class="form-control day-select">
   <option>Day</option>
      @foreach(range(1, 31) as $y)
        <option>{{$y}}</option>
      @endforeach
</select>

对于指定范围内的年份,例如1951年到现在,您可以按降序执行以下操作

<select class="form-control">
   <option>Year</option>
   @foreach(range(date('Y')-16, date('Y')-70) as $y)
      <option>{{$y}}</option>
   @endforeach
 </select>
qni6mghb

qni6mghb8#

@foreach ($data as $item)
        @foreach ($order_item->where('order_id',$item->id) as $i)
        @endforeach
    @endforeach
vawmfj5a

vawmfj5a9#

  • 您可以简单地在blade文件中使用forloop,如下所示:
<?php for($i = 0; $i < 6; $i ++){ ?>
     <span class="fa fa-star" style="color: #F2A057"></span>
  <?php } ?>

相关问题