I am currently using CodeIgniter.
I am trying to write a function that can take an unlimited number of paramaters.
So in the controller it will be something like
function test($name, $others){
foreach($others){
//do something
}
}
and I could call it like
example.com/control/test/some name/param1/param2/param3/param4/param5...
How can I set this up?
You can get an associated array of URI segments with the
uri_to_assoc
function in the URI class. So in your controller, you might do something like this:you could also do it like this:
so any url like:
site.com/controller/foo/param1/param2/param3/param4
would create an array of parameters.
It's not clear why you need an unlimited (variable) number of arguments, but you may want to consider why you need them.
You can use alternative URI semantics for certain types of arguments. Often the URI design is the path to a thing in a system. Unlimited parameters may not refer to the resource, but rather describe its attributes. Tags are a good example of this.
Tags implement easily in CodeIgniter with a single parameter.
If the parameters refer to a node, you can consider a similar approach:
Or, if the hierarchy is important as a path, you can use the
func_get_args()
solution above.