When reading the documentation, reading technical articles, or dealing with anything programming related you’re going to come across both parameters and arguments.
Sometimes, people will use these phrases interchangeably. For what it’s worth, I think that’s okay. People know what the speaker or author is referring to when they are using these terms.
But there is a difference between the two. So if you find yourself in a situation – maybe an interview or a setting that requires a bit more precision – here’s the difference.
Parameters and Arguments
First, let’s take an example from the WordPress code reference for a given function and let’s look at its parameter list.
For add_user_meta
, the parameters are:
- `$user_id`
- `$meta_key`
- `$meta_value`
- And an optional `$unique` value
So what distinguishes these from being called arguments?
Parameters are the values the function accepts. Arguments are the values passed to the function.
That’s all. So when you’re talking about a function and the allowed values, those are its parameters. When you’re writing code, and you’re passing specific values into a function, those are arguments.
I’d be helped by also seeing a core function with arguments passed to the function, for reference.
I think I get it, but I thought I’d toss that out there.
Thanks!
//use: some_function( $param1, $param2, $param3 );
//arguments with values
$arg1 = ‘value 1’; //string
$arg2 = 2; //int
$arg3 = true; //boolean
//arguments passed to function through its parameters
some_function( $arg1, $arg2, $arg3 );
I had a big debate about this one with one of my team members.
BTW the first parameter is
$user_id
not$add_user_meta
.Cheers
Already fixed. Thanks.
I have to constantly check myself with these two when I write an article. It’s so easy to use them interchangeably! I find it’s also the case when using class vs object.
It’s funny how the simplest things ends up being one of those things on which we have to keep double-checking ourselves.
Hey this is great. I know about 12 years ago it took me a while to understand both of these concepts. For new developers this will help them tremendously!!!
Thanks Amen!