【问题标题】:if and else statement in laravel 4laravel 4中的if和else语句
【发布时间】:2014-12-05 14:05:17
【问题描述】:

我希望我的布尔值产生“真”或“假”而不是 1 和 0。所以我尝试使用 if 和 else 语句来获得我想在我的用户界面中反映的结果。不过还是遇到了一些错误,不知道哪里出错了。

这是我在 View 文件夹中的代码

@extends('layouts.default')
@section('body')

<div class="well">
            <table class="table">


                <thead>
                    <th>Student ID</th>
                    <th>lastname</th>
                    <th>firstname</th>
                    <th>middlename</th>
                    <th>hscard</th>
                    <th>tor</th>
                    <th>dismissal</th>
                    <th>goodmoral</th>
                    <th>birth certificate</th>
                    <th>form 137</th>
                    <th>grade evaluation</th>

                </thead>
                @foreach ($results as $result)

                <tr>

                    <td>{{$result->studentid}}</td>
                    <td>{{$result->lastname}}</td>
                    <td>{{$result->firstname}}</td>
                    <td>{{$result->middlename}}</td>
                    <td>{{$result->hscard}}</td>
                    <td>{{$result->tor}}</td>
                    <td>{{$result->dismissal }}</td>
                    <td>{{$result->goodmoral}}</td>
                    <td>{{$result->bcrtfcate}}</td>
                    <td>{{$result->form137}}</td>
                    <td>{{$result->grade_evaluation}}
                    </td>
                </tr>
                @endforeach
            </table>

        </div>
@stop

我尝试在 if 和 else 语句中添加这个,但仍然遇到一些错误:

<td>{{$result->grade_evaluation}}
     @if($result==1)
     true
     @else
     false
</td>

【问题讨论】:

  • 需要以@endif结束if语句
  • 你好,马特!我没有再收到任何错误,谢谢,我的所有行都标记为假,“1”不会回显真
  • 试试那个:{{ $result-&gt;grade_evaluation == 1 ? 'true' : 'false' }}
  • @ThomasDavidPlat 天哪!谢谢托马斯,它成功了!! :)
  • 澄清: $result实际上是一个对象。如果将其与 Integer 进行比较,它将尝试将对象转换为不起作用的 Integer(PHP 会发出通知)。不过,比较(如果不是你没有使用严格比较)将评估为真。您实际上想比较 grade_evaluation 属性(可能是一个整数),但您与整个对象进行了比较。我缩短了与三元运算符的比较 (php.net/manual/en/language.operators.comparison.php)

标签: php if-statement laravel boolean statements


【解决方案1】:

这可能是 Laravel 问题,是 PHP 问题。

如果 $result 变量有值,它将返回该值。 如果没有,它将返回 0。

如果你想测试 $result 变量是否有值, 你最好使用 isset() 函数并尝试类似

@if(isset($result))
     true
@else
     false
@endif

上面的代码应该可以正常工作。

【讨论】:

    猜你喜欢
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    相关资源
    最近更新 更多