Php 当极限和增量是动态的时,如何得到for循环的最后一次迭代?
我见过一些和这个有关的问题,比如 但我没有得到精确解,因为在我的例子中,增量和结束极限都是动态的 要求:-我不希望在打印最后一个元素后加逗号Php 当极限和增量是动态的时,如何得到for循环的最后一次迭代?,php,loops,for-loop,logic,Php,Loops,For Loop,Logic,我见过一些和这个有关的问题,比如 但我没有得到精确解,因为在我的例子中,增量和结束极限都是动态的 要求:-我不希望在打印最后一个元素后加逗号 $inc=11; $end=100; for($i=1;$i<=$end;$i=$i+$inc){ echo $i==$end?$i:"$i,"; // 1,12,23,34,45,56,67,78,89,100 } $inc=11; $end=100; 对于($i=1;$i使用rtrim删除最后一个逗号 $inc = 12;
$inc=11;
$end=100;
for($i=1;$i<=$end;$i=$i+$inc){
echo $i==$end?$i:"$i,"; // 1,12,23,34,45,56,67,78,89,100
}
$inc=11;
$end=100;
对于($i=1;$i使用rtrim删除最后一个逗号
$inc = 12; // Now $inc is 12
$end = 100;
$print = '';
for($i=1;$i<=$end;$i=$i+$inc){
$print .= ($i==$end)? $i : "$i,"; // 1,13,25,37,49,61,73,85,97,
}
$print = rtrim($print, ',');
echo $print;
$inc=12;//现在$inc是12
$end=100;
$print='';
对于($i=1;$i使用rtrim删除最后一个逗号
$inc = 12; // Now $inc is 12
$end = 100;
$print = '';
for($i=1;$i<=$end;$i=$i+$inc){
$print .= ($i==$end)? $i : "$i,"; // 1,13,25,37,49,61,73,85,97,
}
$print = rtrim($print, ',');
echo $print;
$inc=12;//现在$inc是12
$end=100;
$print='';
对于($i=1;$i您可以使用
echo $i+$inc>$end?$i:"$i,";
它检查这是否是最后一次可能的迭代。您可以使用
echo $i+$inc>$end?$i:"$i,";
它检查这是否是最后一次可能的迭代。保持简单:
$numbers = range(0, $end, $inc);
$string = implode(",", $numbers);
echo $string;
你可以在这里看到:
)保持简单:
$numbers = range(0, $end, $inc);
$string = implode(",", $numbers);
echo $string;
你可以在这里看到:
)你可以这样做:
<?php
$inc=4;
$end=10;
for($i=1;$i<=$end;$i=$i+$inc){
echo ($i+$inc-1)>=$end?$i:"$i,"; // 1,5,9
}
?>
此代码处理素数大小写,也不会给您任何结果,如//1,13,25,37,49,61,73,85,97,
总是给您类似//1,13,25,37,49,61,73,85,97的结果。
任何素数后都不加逗号。您可以这样做:
<?php
$inc=4;
$end=10;
for($i=1;$i<=$end;$i=$i+$inc){
echo ($i+$inc-1)>=$end?$i:"$i,"; // 1,5,9
}
?>
这段代码处理素数的情况也不会给你像//1,13,25,37,49,61,73,85,97这样的结果,
总是给你像//1,13,25,37,49,61,73,85,97这样的结果。
在任何素数之后都没有添加逗号。使用for循环而不是while(条件)是关键吗?您只需检查下一个增量迭代是否将运行:echo$i+$inc>$end?$i:$i,“
为什么不先创建一个递增元素数组,然后使用带逗号的内爆函数作为粘合剂?若改用内爆函数,就不必担心这些问题了。@Rizier123:谢谢兄弟。它工作起来很有魅力:-)@LauriOrgla:我已经在循环中,所以在数组中存储所有元素然后使用内爆不是一个好主意。使用for循环而不是while(条件)是否至关重要?您可以只检查下一个增量迭代是否将运行:echo$I+$inc>$end?$I:$I:$I代码>为什么不创建一个递增元素数组,然后使用带逗号的内爆函数作为粘合剂?如果你改用内爆,你就不用担心这些了。@Rizier123:谢谢你,兄弟。它就像一个符咒一样工作:-)@LauriOrgla:我已经在循环中了,所以将所有元素存储在数组中然后使用内爆不是一个好主意。这是一个很好的选择。谢谢:-)好的选择。谢谢:-)