I would like to start the discussion on the already announced var_info()
function. Especially the following open issues should be addressed
before going into voting:
- Whether to output "negative zero float" for -0.0 or keep "zero
float". This functionality was requested on Reddit but IEEE 754 actually
says that one should ignore the difference. Detecting the negative zero
would also require the signbit functionality from C99 (or weird hacking). - Whether to output "invalid object" instead of "object of class
__PHP_Incomplete_Class" to make it more clear cut that this object is wonky.
https://wiki.php.net/rfc/var_info
--
Richard "Fleshgrinder" Fussenegger
I would like to start the discussion on the already announced var_info()
function.
The RFC doesn't seem to state any reason why this should be in core,
rather than in a userland library.
cheers
Dan
I would like to start the discussion on the already announced var_info()
function. Especially the following open issues should be addressed
before going into voting:
- Whether to output "negative zero float" for -0.0 or keep "zero
float". This functionality was requested on Reddit but IEEE 754 actually
says that one should ignore the difference. Detecting the negative zero
would also require the signbit functionality from C99 (or weird hacking).
I think IEEE 754 only specifies that -0.0 and +0.0 be considered equal for
the purpose of numeric equality. That doesn't necessarily mean converting
to a string in some manner should produce the same result. It is already
the case that (string)(float)-0.0 === "-0" and this is how I check for -0.0
in PHP.
- Whether to output "invalid object" instead of "object of class
__PHP_Incomplete_Class" to make it more clear cut that this object is
wonky.https://wiki.php.net/rfc/var_info
--
Richard "Fleshgrinder" Fussenegger
The RFC doesn't seem to state any reason why this should be in core,
rather than in a userland library.
I will extend the RFC on the weekend with the missing information,
thanks for the heads up.
I think IEEE 754 only specifies that -0.0 and +0.0 be considered equal for
the purpose of numeric equality. That doesn't necessarily mean converting
to a string in some manner should produce the same result. It is already
the case that (string)(float)-0.0 === "-0" and this is how I check for -0.0
in PHP.
Exactly, the question is whether this function should report it or not.
--
Richard "Fleshgrinder" Fussenegger