Php 比较Laravel中数组的键和值的最佳方法
目前我有两个数组,如下图所示。比较它们的最佳方法是什么?或者将它们组合在一起并在一个数组中进行比较,或者与我的方法进行比较 $array1 $array2 这就是我用来比较它们的方法Php 比较Laravel中数组的键和值的最佳方法,php,laravel,blade,Php,Laravel,Blade,目前我有两个数组,如下图所示。比较它们的最佳方法是什么?或者将它们组合在一起并在一个数组中进行比较,或者与我的方法进行比较 $array1 $array2 这就是我用来比较它们的方法 <table> <thead><tr><td>status</td></tr></thead> <tbody> <tr> <td> forea
<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…有什么办法吗?我可以通过分配一个新数组来思考,在新数组中是/否