首页 > 解决方案 > Laravel PHP for 循环和 if 语句

问题描述

目前正在尝试构建一个 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 } 

标签: phplaravelfor-loopif-statement

解决方案


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

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


推荐阅读