【问题标题】:CodeIgniter - Functions with and without argumentsCodeIgniter - 带参数和不带参数的函数
【发布时间】:2011-08-07 06:51:46
【问题描述】:

我在 CodeIgniter 中有一个函数,它可以填充日期列表。我称它为 init_days()。我使用 ajax 调用此函数,并使用 jQuery 将返回的值输出到 div 中。 该函数不带任何参数;我从模型中加载默认值并从那里工作。 (此函数从当天(今天)开始将几天加载到列表中。我从我的模型中加载当前日/月/年/..)。

但是,由于必须对这个列表进行操作(例如,显示下个月)。在这种情况下,我想我必须将参数传递给我的函数。

现在,我真的不希望有一个函数来启动列表 (init_days()),然后是另一个函数,我们称之为 populate_days(),它接受参数但本质上做同样的事情,只是通过操纵价值观。

有没有办法检查我是否将值传递给我的函数?这样我就可以保持我的函数原样并添加一个参数检查。或者也许我让这变得比现在更困难(像往常一样:()还有更简单的方法?非常感谢!

【问题讨论】:

  • 和往常一样,看到一些可能会有所帮助,你能花时间发布吗?您熟悉您的代码,但我们不熟悉。你可能想看看为你的函数设置默认参数,但很难准确地说出你在追求什么。
  • @Madmartigan,对不起。我应该添加它。 JohnP 的回答解决了我的问题,所以谢谢。

标签: php function codeigniter arguments


【解决方案1】:

如果你有一定数量的参数,你可以给它们默认值

function init_days($start = '', $end = '') {
   if (!empty($start) && !empty($end)) {  
     //got both vars. do something with it here
   }
}

如果您使用可变数量的参数,也可以使用func_get_arg()。所以你的方法不管有没有参数都可以工作

http://php.net/manual/en/function.func-get-arg.php

http://www.php.net/manual/en/function.func-num-args.php

【讨论】:

  • 谢谢。我有一组参数,所以你提供的代码正是我想要的。应该是这样想的,哈哈。谢谢你,先生!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-19
  • 1970-01-01
  • 2015-04-26
相关资源
最近更新 更多