Doc #64877 [Com]: is_numeric() doesn't treat strings in binary notation as documented

From: Date: Sun, 19 May 2013 10:22:43 +0000
Subject: Doc #64877 [Com]: is_numeric() doesn't treat strings in binary notation as documented
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-9858@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=64877&edit=1 ID: 64877 Comment by: ramon dot ornela at gmail dot com Reported by: cmbecker69 at gmx dot de Summary: is_numeric() doesn't treat strings in binary notation as documented Status: Open Type: Documentation Problem Package: Documentation problem Operating System: any PHP Version: 5.4.15 Block user comment: N Private report: N New Comment: This is a bug, already that the is_numeric supported octal e hexadecimal, should add support to binary annotation too. Previous Comments: ------------------------------------------------------------------------ [2013-05-18 12:40:46] cmbecker69 at gmx dot de Description: ------------ In PHP 5.4.15 the definition of is_numeric() is in ext/standard/type.c (line 300ff)[1]. The relevant function to do the check for arguments of type string is is_numeric_string_ex() in Zend/zend_operators.h (line 109ff)[2]. Apparently special support for strings in binary as well as octal notation is missing; only strings in decimal and hexadecimal notation are recognized as such (strings in octal notation are treated as being decimal). I have filed this issue as documentation problem, but it might be considered an implementation bug. [1] <http://lxr.php.net/xref/PHP_5_4/ext/standard/type.c> [2] <http://lxr.php.net/xref/PHP_5_4/Zend/zend_operators.h> Test script: --------------- var_dump(is_numeric('0b1')); Expected result: ---------------- bool(true) Actual result: -------------- bool(false) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=64877&edit=1

« previous php.doc.bugs (#9858) next »