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
Php 比较Laravel中数组的键和值的最佳方法_Php_Laravel_Blade - Fatal编程技术网

Php 比较Laravel中数组的键和值的最佳方法

Php 比较Laravel中数组的键和值的最佳方法,php,laravel,blade,Php,Laravel,Blade,目前我有两个数组,如下图所示。比较它们的最佳方法是什么?或者将它们组合在一起并在一个数组中进行比较,或者与我的方法进行比较 $array1 $array2 这就是我用来比较它们的方法 <table> <thead><tr><td>status</td></tr></thead> <tbody> <tr> <td> forea

目前我有两个数组,如下图所示。比较它们的最佳方法是什么?或者将它们组合在一起并在一个数组中进行比较,或者与我的方法进行比较

$array1

$array2

这就是我用来比较它们的方法

<table>
<thead><tr><td>status</td></tr></thead>

<tbody>
    <tr>
        <td>
            foreach($array1 as $key => $value)
            {
                foreach($array2 as $ke2 => $value2)
                {
                    if($value[0] == $value2[0] && 
                        $value[1] == $value2[1] && 
                        $value[2] == $value2[2])
                        YES
                    else
                        NO
                }
            }
        </td>
    <tr>
</tbody>
</table>

地位
foreach($array1作为$key=>$value)
{
foreach($array2为$ke2=>$value2)
{
如果($value[0]=$value2[0]&&
$value[1]==$value2[1]&&
$value[2]==$value2[2])
对
其他的
不
}
}
已更新

<table>
<thead><tr><td>status</td></tr></thead>

<tbody>
    <tr>
        <td>
            @foreach ($array1 as $key => $value)
              @if (isset($array2[$key]) && $value == $array2[$key])
                Yes
              @else
                No
              @endif
            @endforeach
        </td>
    <tr>
</tbody>
</table>

地位
@foreach($array1作为$key=>$value)
@如果(isset($array2[$key])&&$value==$array2[$key])
对
@否则
不
@恩迪夫
@endforeach
但此项在表格中的显示方式如下

地位

诺耶斯

诺耶斯

诺耶斯

假设是

地位

没有


等价性适用于数组,因此可以消除内部foreach循环

foreach ($array1 as $key => $value) {
    echo isset($array2[$key]) && $value == $array2[$key] ? 'YES' : 'NO';
}
您还可以使用
===
进行类型安全比较,并且键的顺序很重要。另见:

如果您正在寻找如何输出到模板中,Blade有自己的循环和条件语法

@foreach ($array1 as $key => $value)
    @if (isset($array2[$key]) && $value == $array2[$key])
        Yes
    @else
        No
    @endif
@endforeach

有关刀片模板语法的更多信息,请查看文档页面:

要在laravel视图中实现此功能,可以使用for循环

@foreach ($array1 as $key => $value)
    {{isset($array2[$key]) && $value == $array2[$key] ? 'YES' : 'NO'}}
@endforeach
解释:

内部部分是一个三元运算符,它计算等式并返回相应的值


当我们拥有

时,如何将其置于laravel刀片视图中?它只是显示代码。我扩展了我的答案,包括关于刀片的信息。尽管我也要注意刀片模板的工作方式与其他任何PHP文件一样,您可以在任何地方添加块,但建议避免将业务逻辑拉入模板中。此外,如果您希望将其放在表中,您希望它们作为单元格(表中从左到右的块)还是单个单元格,每行一个(从上到下堆叠)?您需要添加适当的单元格(
)和行(
)标记,以便根据需要对其进行格式化。您只需要为行添加标记。你把循环放在一个单元格的中间,例如<代码>循环现在就在这里< /代码>。如果您希望输出是一个包含单个单元格的行,则循环应位于行所在的位置,例如,
循环应位于此处
。循环应该输出该行的标记,例如,
Yes
hmmm…有什么办法吗?我可以通过分配一个新数组来思考,在新数组中是/否