简体   繁体   English

如何检查它是否是foreach循环中的最后一个元素

[英]How to check if it's the last element in foreach loop

I have a foreach loop which get's the jobs name. 我有一个foreach循环,它是工作名称。 Next to each job I have a button "Complete". 在每个作业旁边,都有一个“完成”按钮。 When user click complete, it hides the job from page. 用户单击完成后,它将在页面中隐藏作业。 User can do jobs in any order so he might click first, than last. 用户可以按任何顺序执行作业,因此他可以先单击后单击。

Once all the jobs are completed, I want user to automatically go to the next tab. 所有作业完成后,我希望用户自动转到下一个选项卡。

My question is How i can check if this was the last job in foreach loop. 我的问题是我如何检查这是否是foreach循环中的最后一项工作。 User can hide jobs in any order; 用户可以按任何顺序隐藏作业。 so how I can determine if it's last job than go to the next tab. 因此,如何确定它是否是最后一项工作,而不是转到下一个标签。

Here is loop. 这是循环。

foreach ($array2 as $key => $value) { ?>
    <div class="panel panel-default center-block">
        <div class="panel-body">
            <div class=row>
                <div class="col-md-4">
                    <h2 style="color:orangered" class="text-center">SIP</h2>
                    <img alt="" class="center-block"style="width:20%;"src="../../css/collecting/logo.png">
                    <h2 class="text-center"><?php echo $value['name_dvp']; ?></h2>
                    <h3 class="text-center">(<?php echo $value['region_dvp']; ?>)</h3>
                    <h3 class="text-center">D<?php echo $value['id_dvp']; ?></h3>
                    <h2 style="color:orangered" class="text-center"><?php echo $value['maintenancelocation_dvp']; ?></h2>
                </div>


                <div class="col-md-2">
                    <img alt="" class=" center-block developerlocationselection" style="width:35%; margin-top:10%;" src="../../css/collecting/route-select.png">

                </div>
            </div>
        </div>
    </div>
    <?php

}

Javascript Java脚本

<script>
  $(document).ready(function () {
    $(".developerlocationselection").click( function () {
        alert(2);
    });
  });
</script>

Try this : 尝试这个 :

foreach($array as $key => $value) {

    if ($value === end($array)){
        echo 'Last';
    }

}

I think that the better option would be to follow what @musefan said. 我认为更好的选择是遵循@musefan所说的。 Otherwise you could try something like this: 否则,您可以尝试如下操作:

$array_length = count($array2);
$current_index = 0;

foreach ($array2 as $key => $value) {

   $current_index++;

   if(current_index == $array_length){
      echo 'I found the last job!';
   }

   //Do your stuff
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM