I noticed that PHP’s internal functions never use strings for pre-defined or limited values, only constants.
pad_type:
Optional argument pad_type can be STR_PAD_RIGHT, STR_PAD_LEFT, or STR_PAD_BOTH. If pad_type is not specified it is assumed to be STR_PAD_RIGHT.
What’s the reason for not using a string as parameter here?
str_pad($test, 10, 0, 'left') seems a lot simpler than str_pad( $test, 10, 0, STR_PAD_LEFT)
(This is more of a meta question. I hope it’s OK to ask here.)
It is easier to make mistakes when typing a string. Using an undefined constant will throw a warning. It’s not just a PHP thing. Regular API functions (i.e. of an OS) usually use numeric constants as well for parameters like this.