I noticed that PHP's internal functions never use strings for pre-defined or limited values, only constants.
For example:
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.
They use int
.. and it more efficient that way because of Case Sensitivity , Spelling Mistakes , Parsing strings , Better for IDE , Error etc.
If you don't like constant you can just use int value
str_pad($test, 10, 0, 0) == str_pad( $test, 10, 0, STR_PAD_LEFT)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With