php范围查询

发布于 2024-09-19 06:46:08 字数 197 浏览 9 评论 0原文

基本问题在这里。我正在使用 php(smarty) range 来填充该月中几天的数组。

$smarty->assign('date', range(1,31 ));

表单发送正常,但因为计数从 0 开始,所以当我从下拉列表中选择 20 时,表单中会发送 19。

如何设置使其从 1 开始?

Basic question here. I am using php(smarty) range to populate an array for days in the month.

$smarty->assign('date', range(1,31 ));

The form sends OK, but because counts start at 0, when I pick 20 from dropdown 19 gets sent in the form.

How do I set it so it starts at 1?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

把回忆走一遍 2024-09-26 06:46:08

range() 函数不允许您指定数组的键。最简单的选择是创建自己的数组:

$range = array();
for ($i = 1; $i <= 31; $i++) {
    $range[$i] = $i;
}
$smarty->assign('date', $range);

The range() function does not allow you to specify the keys for the array. The simplest option would be to create your own array:

$range = array();
for ($i = 1; $i <= 31; $i++) {
    $range[$i] = $i;
}
$smarty->assign('date', $range);
风筝在阴天搁浅。 2024-09-26 06:46:08
$days = array_combine(range(1,31),range(1,31));

或者,可能更有效,尽管这是一个微观优化:

$range = range(1,31);
$days = array_combine($range,$range);
$days = array_combine(range(1,31),range(1,31));

Or, possibly more efficient, although it's a micro-optimalisation:

$range = range(1,31);
$days = array_combine($range,$range);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文