php-循环时获取错误的值
我正在制作一个opportunity表单,其中我在wordpress中提供了更新和删除功能。我的问题是这个for循环有什么问题。。我得到了错误的I值。 如果我删除任何单个opportunity,则无法打印“$opportunity\u exp\u date[$i]”。你们可能很难理解,但这是我的问题。 这是我的密码php-循环时获取错误的值,php,wordpress,Php,Wordpress,我正在制作一个opportunity表单,其中我在wordpress中提供了更新和删除功能。我的问题是这个for循环有什么问题。。我得到了错误的I值。 如果我删除任何单个opportunity,则无法打印“$opportunity\u exp\u date[$i]”。你们可能很难理解,但这是我的问题。 这是我的密码 for($i=count($contact_opportunity);$i>=0;$i--){ //for listing of Won opportunities
for($i=count($contact_opportunity);$i>=0;$i--){ //for listing of Won opportunities
if($contact_opportunity[$i]!='0' && !empty($contact_opportunity[$i])){ ?>
<?php if($opportunity_status[$i]=='Won'){?>
<div class="won-opp"><h3>Won</h3></div>
<?php echo "<div class='oname'>"."New Opportunity '".$contact_opportunity[$i]."' added"."</div>"; ?>
<a href="<?php echo admin_url( "admin.php?page=contact_profile&post=$pid&opnm=$contact_opportunity[$i]&opamt=$opportunity_amount[$i]&opedt=$opportunity_exp_date[$i]&opsts=$opportunity_status[$i]&opnt=$opportunity_note[$i]" )?>"><span class="opp-edit" title="edit"></span></a>
<span class="btn_remove_opp" title="delete opportunity"></span>
<input type="hidden" value="<?php echo $contact_opportunity[$i]?>" class="del_op_nm">
<input type="hidden" value="<?php echo $opportunity_status[$i]?>" class="del_op_sts">
<input type="hidden" value="<?php echo $opportunity_exp_date[$i]?>" class="del_op_exp">
<input type="hidden" value="<?php echo $opportunity_amount[$i]?>" class="del_op_amt">
<input type="hidden" value="<?php echo $opportunity_note[$i]?>" class="del_op_nt">
<div id="opp-list">
<?php
echo "<span class='sts'>".$opportunity_status[$i]."</span>"." Expected close on ".$opportunity_exp_date[$i]."<br>";
echo $opportunity_amount[$i]." "."<div class='footer-op-nt'>".$opportunity_note[$i]."</div>"."<br>";
?>
</div>
<br>
<?php }
}
}
用于($i=count($contact_opportunity);$i>=0;$i--){//用于列出赢得的机会
如果($contact\u opportunity[$i]!='0'&&!empty($contact\u opportunity[$i]){?>
赢了
我相信您已经偏离了一步;不要在循环中使用count(),因为它的速度较慢
$count= count($contact_opportunity);
for($i=$count-1;$i>=0;--$i){ //for listing of Won opportunities
如果没有一些数据和输出,则无法计算。您可能希望切换到foreach($i->$value)
如果删除值并中断序列,则最好对商机进行排序,然后使用foreach循环而不是for循环。排序商机还需要对所有其他数据进行排序,因为关键字不再匹配(例如,$opportunity\u note,$opportunity\u exp\u date)尽管@Adder没有指出,但他们的代码确实说明count($contact\u opportunity)
不是最后一个元素,因为数字索引应该从0开始,所以count($contact\u opportunity)-1
是循环的起点