Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在@foreach循环中使用变量时,如何检查该变量是否已定义_Php_Laravel - Fatal编程技术网

Php 在@foreach循环中使用变量时,如何检查该变量是否已定义

Php 在@foreach循环中使用变量时,如何检查该变量是否已定义,php,laravel,Php,Laravel,我试图得到一些澄清,因为我尝试了不同的方法,但似乎对我不起作用 我有这样一个foreach循环: @foreach($mods as $key => $value) <tr class="table-tr draggable" data-id="{!!$value->id!!}" style="background-color: {{$value->mod_colour}}; color: {{$value->mod_text_col

我试图得到一些澄清,因为我尝试了不同的方法,但似乎对我不起作用

我有这样一个foreach循环:

@foreach($mods as $key => $value)
                <tr class="table-tr draggable" data-id="{!!$value->id!!}" style="background-color: {{$value->mod_colour}}; color: {{$value->mod_text_colour}};">
                    <!-- This creates the Mod -->
                    <td class="startTime"></td>
                    <td class="endTime"></td>
                    <td class="duration">{{ $value->mod_duration }}</td>
                    <td class="intent">{{ $value->mod_intent }}</td>
                    <td class="module">
                        @if ($value->mod_module != null)
                            {{ $value->mod_module }}
                        @else
                            <table class="table-bordered" style="width:100%; text-align: center; color: white;">
                                @for ($i = 1; $i <= $value->mod_team; $i++)
                                    <td style="padding:10px;">Team {{ $i }}</td>
                                @endfor
                            </table>
                        @endif
                    </td>
                    <td class="output">{{ $value->mod_output }}</td>
                    <td class="input">{{ $value->mod_input }}</td>
                    <td class="logistics">{{ $value->mod_logistics }}</td>
                    <td>
                        <a class="btn btn-small btn-info" style="margin:auto; margin-top: 10px; margin-bottom: 10px; margin-left:10px; margin-right:10px; display:block;" href="" data-target="#modal-edit-mod{{ $value->id }}" data-toggle="modal" id="modal-edit">Edit</a>
                    </td>
                </tr>
@endforeach
@foreach($mods as$key=>$value)
{{$value->mod_duration}
{{$value->mod_intent}
@如果($value->mod_module!=null)
{{$value->mod_module}
@否则
@对于($i=1;$i模块团队;$i++)
小组{{$i}
@结束
@恩迪夫
{{$value->mod_output}
{{$value->mod_input}
{{$value->mod_logistics}
@endforeach
我面临的问题是,当数据库中没有mod,因此没有任何内容传递给$value变量时,页面将抛出“未定义变量:value”错误。我试图实现的是创建某种catch语句,如果没有定义值,那么它将默认为“createnewmod”屏幕或模式。我尝试了以下方法:

@foreach($mods as $key => $value)
                @if($value != null)
                <tr class="table-tr draggable" data-id="{!!$value->id!!}" style="background-color: {{$value->mod_colour}}; color: {{$value->mod_text_colour}};">
                    <!-- This creates the Mod -->
                    <td class="startTime"></td>
                    <td class="endTime"></td>
                    <td class="duration">{{ $value->mod_duration }}</td>
                    <td class="intent">{{ $value->mod_intent }}</td>
                    <td class="module">
                        @if ($value->mod_module != null)
                            {{ $value->mod_module }}
                        @else
                            <table class="table-bordered" style="width:100%; text-align: center; color: white;">
                                @for ($i = 1; $i <= $value->mod_team; $i++)
                                    <td style="padding:10px;">Team {{ $i }}</td>
                                @endfor
                            </table>
                        @endif
                    </td>
                    <td class="output">{{ $value->mod_output }}</td>
                    <td class="input">{{ $value->mod_input }}</td>
                    <td class="logistics">{{ $value->mod_logistics }}</td>
                    <td>
                        <a class="btn btn-small btn-info" style="margin:auto; margin-top: 10px; margin-bottom: 10px; margin-left:10px; margin-right:10px; display:block;" href="" data-target="#modal-edit-mod{{ $value->id }}" data-toggle="modal" id="modal-edit">Edit</a>
                    </td>
                </tr>
                @else
                <p>No mods!</p>
                @endif
            @endforeach
@foreach($mods as$key=>$value)
@如果($value!=null)
{{$value->mod_duration}
{{$value->mod_intent}
@如果($value->mod_module!=null)
{{$value->mod_module}
@否则
@对于($i=1;$i模块团队;$i++)
小组{{$i}
@结束
@恩迪夫
{{$value->mod_output}
{{$value->mod_input}
{{$value->mod_logistics}
@否则
没有mods

@恩迪夫 @endforeach
在这里,它将检查$value变量是否为null,但这并没有起作用。我也尝试了->isEmpty()方法,但它仍然返回未定义的变量error

我想要得到的帮助是一个指针,指向创建@if/@else语句的最佳方法,它可以检查$value变量是否有值,或者是否有更好的方法来实现我的目标


谢谢大家!

要检查是否定义了变量,请使用
isset()
,例如:

if(isset($value)){
   echo $value;
}

要检查变量是否已定义,请使用
isset()
,例如:

if(isset($value)){
   echo $value;
}
您可以使用
isset()
empty()

@foreach($mods as $key => $value)
    @if(!empty($value)) 
您可以使用
isset()
empty()

@foreach($mods as $key => $value)
    @if(!empty($value)) 
您应该使用isset($value)检查变量是否已设置

在这种情况下,您还可以使用这两种方法来检查变量是否已设置且不为空

if(isset($value)) && is empty($value))
{
    \\ Your Code
}
您应该使用isset($value)检查变量是否已设置

在这种情况下,您还可以使用这两种方法来检查变量是否已设置且不为空

if(isset($value)) && is empty($value))
{
    \\ Your Code
}

更清楚地说,关于变量定义与否的问题是不同的,变量是否为null,还有不同的检查方法

我给你举个小例子

//创建空变量并用null填充它//'/0
$empty=null;//我将其设置为空
//我们创建了另一个变量notEmpty
$notEmpty='notEmpty';
if(空($empty)){
echo“Empty”;//如果我们运行它,它将echo Empty
}
如果(空($notEmpty)){
echo“Empty”;//未调用
}否则{
echo“Not Empty”;//已调用
}
//现在检查变量是否已定义
if(isset($otherVar)){
回声“定义”;
}否则{
回声“未定义”;
}

正如您所看到的,对于您的问题,您可以从以下两种方法中进行选择:-D

为了更清楚地说明,变量定义与否的问题是不同的,变量是否为空,还有不同的检查方法

我给你举个小例子

//创建空变量并用null填充它//'/0
$empty=null;//我将其设置为空
//我们创建了另一个变量notEmpty
$notEmpty='notEmpty';
if(空($empty)){
echo“Empty”;//如果我们运行它,它将echo Empty
}
如果(空($notEmpty)){
echo“Empty”;//未调用
}否则{
echo“Not Empty”;//已调用
}
//现在检查变量是否已定义
if(isset($otherVar)){
回声“定义”;
}否则{
回声“未定义”;
}
正如您所看到的,您可以从这两种方法中进行选择:-D

您可以使用isset()方法

比如:

if (isset($var)) {}
如果设置了$var,则该方法返回true,否则返回false

祝你好运

您可以使用isset()方法

比如:

if (isset($var)) {}
如果设置了$var,则该方法返回true,否则返回false


祝你好运

您可以在laravel中执行此操作。我会检查$mods的结果,查看其中是否有任何内容,然后在需要时执行:

@if(is_null($mods))
  //its null, do this code
@else
your current code if a var is found
@endif

你可以在拉威尔做到这一点。我会检查$mods的结果,查看其中是否有任何内容,然后在需要时执行:

@if(is_null($mods))
  //its null, do this code
@else
your current code if a var is found
@endif

isset()
和/或
empty()
是最先想到的两件事
if(count($mods)>0{foreach(…){}否则{echo“找不到数据”}
您似乎在某个地方遇到了问题,使您的
$mods
变量不是空的,但也不是您希望的格式$