Laravel:当数组为空时数组循环的集合
Posted
技术标签:
【中文标题】Laravel:当数组为空时数组循环的集合【英文标题】:Laravel : Collection Of array loop when array is null 【发布时间】:2018-05-06 01:42:44 【问题描述】:当我打印时,我得到了两个空数组的集合:
array:2 [▼
0 => Collection #419 ▼
#items: []
1 => Collection #412 ▼
#items: []
]
在这个空数组的计数中,我得到了 "Count - 2"。我想做的事 使用我的代码循环两次(这是我的计数)并检查是否 在 ARRAY-1 中数据可用,然后打印 “数据可用” 否则打印 “数据不可用”。
这是我的代码:
两个foreach循环因为数组的集合
foreach($TestArr as $TestArr1)
foreach($TestArr1 as $item)
if($item->gallery_id == $val && $item->is_thumb_image == 1)
echo "YesImage";
else
echo "NoImage";
这是完整的代码;
<div class="container">
@if(!empty($galleryArr)) // Gt a folder name
@foreach($galleryArr as $key => $val)
<div class="col-md-3">
<div class="service-block service1">
<?php
foreach($TestArr as $TestArr1) //set for thumb image
if(count($TestArr1))
foreach($TestArr1 as $item)
if($item->gallery_id == $val && $item->is_thumb_image == 1)
echo "YesImage";
else
echo "NoImage";
?>
<h4> $key </h4>
<a href="javascript:void(0);" class="btn" id="dynamic_$val">View Gallary</a>
<script type="text/javascript">
// added
$('#dynamic_!! $val !!').on('click', function()
$(this).lightGallery(
dynamic: true,
dynamicEl: [
<?php if(!empty($mediaData))
foreach($mediaData as $k => $v)
if($v->gallery_id == $val) ?>
"src": '!! "/images/".$v->path !!',
'thumb': '!! "/images/".$v->path !!',
'subhtml': '<h4> $v->caption </h4>'
,
<?php ?>
]
)
);
</script>
</div>
</div>
@endforeach
@endif
</div>
【问题讨论】:
那有什么问题? 问题是当 i gt 空数组循环不继续时。 这是事实,在遍历数组/集合时,如果为空则不会继续。您可以检查数组中每个集合的大小以确定值是否存在。 如果我的数组中有两个计数为 null 或 notNull,我想要什么,我的循环运行两次。有可能吗? 如果你得到第二个,那么它当然不是空的,但内部集合可以是空的 【参考方案1】:在foreach之前检查array1是否为空,
foreach($TestArr as $TestArr1)
if(count($TestArr1))
foreach($TestArr1 as $item)
if($item->gallery_id == $val && $item->is_thumb_image == 1)
echo "YesImage";
else
echo "NoImage";
else
echo "NoImage";
【讨论】:
以上是关于Laravel:当数组为空时数组循环的集合的主要内容,如果未能解决你的问题,请参考以下文章