【问题标题】:Laravel PHP for loops and if statementsLaravel PHP for 循环和 if 语句
【发布时间】:2019-05-02 04:03:41
【问题描述】:

目前正在尝试构建一个 for 循环来读取我的 $userSkills 数组,然后使用 if 语句打印出基于它的特定文本。

这就是代码的样子

@for ($x = 1; $x < $skillCount; $x++) {
    @if($userSkills[$x] = '{ 66; }')
        <span>Hi</span>
    @else
        <span>{{$userSkills[$x]}}</span>
    @endif                        
}
@endfor

在我的数组中,它将是 {AA, 66, 67, 69} 所以我想让它打印出来

Hi 67 69

但是输出看起来像这样

{ Hi } { Hi } { Hi } 

【问题讨论】:

  • @if($userSkills[$x] = '{ 66; }') 应该是 @if($userSkills[$x] == '{ 66; }')

标签: php laravel for-loop if-statement


【解决方案1】:

单个等号是一个赋值,因此您在 if 括号中所做的是将 $userSkills[$x] 设置为等于 '{ 66; }' ,这将评估为 true 以便执行 if 块。您需要使用双等号来检查值是否相同,或者使用三等号来测试相同的值和相同的类型。

另外,$userSkills[1] 将等于 66 而不是 '{ 66; }',并且数组基于 0,因此您需要将 $x = 1 更改为 $x = 0。

【讨论】:

    【解决方案2】:

    请尝试以下代码:

    @foreach ($userSkills as $userSkill)
     <span>
      {!! $userSkill == 66 ? 'HI' : $userSkill !!}
     </span>
    @endforeach
    

    【讨论】:

      猜你喜欢
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多