php for( $i= 0 ; $i <= 10 ; $i++ ) - echo 从 1 而不是 0 开始

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/18132833/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 17:02:34  来源:igfitidea点击:

for( $i= 0 ; $i <= 10 ; $i++ ) - echo starting at 1 instead of 0

php

提问by Simple CMS

I've got the following for a quantity box on a shopping cart:

对于购物车上的数量框,我有以下内容:

<?php
    for( $i= 0 ; $i <= 10 ; $i++ )
{
echo '<option value="' . $i . '" >' . $i . '</option>';
}
?>

Which all is good there however I really want the initial value of the select box to be 1 instead of 0. I've tried to set $i=1 which limits the values to 1-10 - I need 0-10 to be options.

这一切都很好但是我真的希望选择框的初始值是 1 而不是 0。我试图设置 $i=1 将值限制为 1-10 - 我需要 0-10 作为选项.

回答by Frank

<?php
    for( $i= 0 ; $i <= 10 ; $i++ )
{
echo '<option ' . ($i == 1 ? 'selected=\'selected\'' : '') . ' value="' . $i . '" >' . $i . '</option>';
}
?>

回答by JimL

I thinkthis is what you meant, not entirely sure

这就是你的意思,不完全确定

<?php
for( $i= 0 ; $i <= 10 ; $i++ )
{
    echo '<option value="' . $i . '" >' . $i+1 . '</option>';
}
?>

回答by Jacob Lauritzen

How about

怎么样

<?php
    for( $i=1 ; $i <= 10 ; $i++ )
{
echo '<option value="' . $i . '" >' . $i-1 . '</option>';
}
?>

回答by hjpotter92

The echo statement shall be:

echo 语句应为:

echo sprintf('<option value="%d">%d</option>', $i, ($i + 1));

回答by user1522901

You can either hard code it in there or just increment the i by 1.

您可以在那里对其进行硬编码,也可以将 i 增加 1。

<?php
echo '<option value="1">1</option>';
for( $i= 0 ; $i <= 10 ; $i++ )
{
    echo '<option value="' . $i . '" >' . $i . '</option>';
}
?>