TL;DR: $argv
is an array of arguments passed to the script with the first index being the name of the script itself. And $argc
is the number of arguments passed to the the script (which will always at least be 1
).
Arguably, pun intended, one of the key pieces of command-line application is making sure that they are interactive through command-line arguments. In PHP, there are two variables to understand:
$argc
is the number of arguments passed to script. Note the script’s filename is always passed as an argument to the script, therefore the minimum value of$argc
is1
.$argv
is an array of arguments passed to script. Note the first argument$argv[0]
is always the name that was used to run the script.