ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
If I have a PHP function with two arguments, both with defaults, how can I just pass the second argument and rely on the default value for the first?
Code:
function test($a=1,$b=2) {
echo "$a $b <br />";
}
test(12); // prints 12 2 - as you'd expect
test(,5); // causes a blank page
test(Null,10); // prints 10
test("",10); // prints 10
Or is this just, for some reason, a silly thing to try to do? It isn't for any particular application. I'm just learning PHP and want to understand it properly.
Can't do it. Parameter passing in PHP is purely positional and you can only omit parameters at the end of the list. If you want $a to have the default value of 1 in your example, you need to use test(1, 12).
There's nothing inherently silly about wanting to do this. Some languages do allow you to omit parameters at the beginning or middle of the list. Other allow you to pass parameters by name rather than by position, e.g. test(b=12). PHP, however, is not one of those languages.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.