Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #9284

Re: bug in is_numeric

Message-ID <16716194.HF93PK6e1C@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2013-05-13 01:27 +0200
Subject Re: bug in is_numeric
Newsgroups comp.lang.php
References (2 earlier) <kmoi50$bkc$1@news.albasani.net> <1851737.v4KHZ1CCSF@PointedEars.de> <kmolp6$pfl$1@dont-email.me> <2674261.IiuJV7CBEH@PointedEars.de> <kmov5q$i0a$1@dont-email.me>

Show all headers | View raw


Jerry Stuckle wrote:

> On 5/12/2013 2:39 PM, Thomas 'PointedEars' Lahn wrote:
>> Jerry Stuckle wrote:
>>> On 5/12/2013 1:38 PM, Thomas 'PointedEars' Lahn wrote:
>>>> Thomas Mlynarczyk wrote:
>>>>> Sanders Kaufman schrieb:
>>>>>>> if(is_numeric('x11.11c')  returns  TRUE
>>>>>> Try it without the quotation marks around the number.
>>>>>
>>>>> Which number? x11.11c is not a number.
>>>>
>>>> The misconception might partially draw from the fact that 0x11 is a
>>>> number,
>>>> the hexadecimal representation of decimal 16¹ + 16⁰ = 17 (even in PHP).
>>>> In other programming languages that require a leading “0” and do not
>>>> have “.” as (concatenation) operator,
>>>>
>>>>     x11.11c
>>>>
>>>> could be the representation of decimal 16¹ + 16⁰ + 16⁻¹ + 16⁻² + 13 ×
>>>> 16⁻³ = 17.06958 (BTW, I have written a drop-in replacement for
>>>> ECMAScript's parseFloat() that can do that, with the usual rounding
>>>> errors [1]).
>>>>
>>>> In PHP, however,
>>>>
>>>>     x11.11c
>>>>
>>>> would be equivalent to
>>>>
>>>>     (x11) . (11c)
>>>>
>>>
>>> Wrong, as usual.
>>>
>>> <snip>
>>
>> Intentionally misquoted, as usual.
> 
> And exactly what is wrong with what I quoted?

In contrast to what you stated, exactly *nothing* is wrong with it when 
properly quoted; that is, *in context*, which is the point.  Giving you the 
benefit of a doubt, you appear to have severe difficulty understanding the 
concept of context as such and the importance of context in quotations 
specifically; it would be good if you could work on that.

> The rest of your trash

Not everything that you choose to ignore or fail to understand is “trash” 
because of that.

> was based on this incorrect premise; it would be a waste of bandwidth to
> repost your entire tripe.

As showed by the PHP output that I posted further below, and that you 
snipped, the premise is _not_ incorrect.  To elaborate:

“.” would be considered a concatenation operator here; there is no other 
production of the PHP grammar that fits the source code better.  Numeric 
literals must not start with “x” in PHP, which precludes the possibility 
that “.” would be parsed as a decimal point of the literal “x11.11” (which, 
giving you the benefit of a doubt, might have been your assumption drawing 
from other programming languages that you might know).

As a result, “x11“ would be considered a constant's identifier; because such 
a constant would likele be undeclared, it would be parsed as if it was a 
string value containing the characters of the would-be identifier as 
characters (see the PHP Notices in the test, and the generated output for 
proof of that).

“11c” would be considered a constant identifier as well (and treated the 
same way) if it did not start with a decimal digit.  Or it would be 
considered a decimal literal if it did not contain/end with “c” (allowed 
would only be “e” followed by a decimal literal, for the 
exponential/scientific decimal format).  But as it does contain/end with “c” 
that is not in a hexadecimal literal, it is a *syntax error*.  Therefore, 
the entire expression would not compile and the entire PHP program would not 
compile, being syntactically in error.

We have now ascertained that, as Thomas Mlynarczyk stated, “x11.11c” cannot 
be a proper numeric literal in PHP (it would be an operation expression 
[that would not compile, but that is unimportant from here]).  As that is 
the case, “'x11.11c'” also is not considered numeric in PHP, which is why

  is_numeric('x11.11c')

must return FALSE.  By contrast, is_numeric('0x11') returns TRUE.

However, there appears to be an *actual* mismatch between PHP manual and 
implementation in said PHP version as 

  is_numeric('0b11001001')

returns FALSE when according to the manual it should return TRUE (binary 
integer literals are available since PHP 5.4.0 per the manual, and they do 
compile and properly evaluate in tests there.
 
> [more flames]

It is a pity that too often you are not able to master your emotions in 
order to participate in a factual discussion in a constructive way.


PointedEars
-- 
Use any version of Microsoft Frontpage to create your site.
(This won't prevent people from viewing your source, but no one
will want to steal it.)
  -- from <http://www.vortex-webdesign.com/help/hidesource.htm> (404-comp.)

Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

bug in  is_numeric fred <email@address.com> - 2013-05-12 15:22 +0100
  Re: bug in  is_numeric Salvatore <sal@yojimbo.hack.invalid> - 2013-05-12 15:31 +0000
    Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-12 17:55 +0200
    Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-12 17:58 +0200
    Re: bug in  is_numeric Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2013-05-12 18:06 +0200
    Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-12 16:24 +0000
    Re: bug in  is_numeric fred <email@address.com> - 2013-05-12 18:41 +0100
      Re: bug in  is_numeric Erwin Moller <erwinmollerusenet@xs4all.nl> - 2013-05-13 13:50 +0200
        Re: bug in  is_numeric fred <email@address.com> - 2013-05-13 14:58 +0100
          Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-13 10:11 -0400
            Re: bug in  is_numeric fred <email@address.com> - 2013-05-13 15:15 +0100
              Re: bug in  is_numeric Erwin Moller <erwinmollerusenet@xs4all.nl> - 2013-05-13 17:29 +0200
              Re: bug in  is_numeric "J.O. Aho" <user@example.net> - 2013-05-13 19:55 +0200
              Re: bug in  is_numeric Richard Yates <richard@yatesguitar.com> - 2013-05-14 06:41 -0700
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-14 21:43 -0400
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-14 23:01 -0400
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-15 05:48 -0400
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-15 06:11 -0400
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 18:36 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-15 15:19 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-15 20:23 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-15 20:49 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-15 21:58 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-15 22:20 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-15 22:42 +0200
                Re: bug in  is_numeric Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2013-05-15 23:53 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-16 00:29 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-16 00:40 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-16 05:00 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 18:16 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-17 00:45 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 22:52 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-17 18:33 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-17 20:39 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-17 23:45 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-18 14:47 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-15 20:57 -0400
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-16 00:09 -0400
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-17 01:17 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-16 20:30 -0400
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-18 14:51 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 10:07 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-18 11:56 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 14:32 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-18 22:24 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 17:01 -0400
                Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-18 21:58 +0000
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 19:21 -0400
                Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-19 02:22 +0000
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 22:41 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:28 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 09:42 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:42 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 14:39 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-21 01:01 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-21 05:59 -0400
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-19 07:49 +0100
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:31 -0500
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-19 12:39 +0100
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 09:43 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:52 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 14:42 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-21 01:03 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-21 06:00 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:45 -0500
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:27 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 09:45 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:37 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 14:43 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-21 00:59 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-21 06:02 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-18 17:08 -0500
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-18 23:58 +0100
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 19:22 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-18 17:11 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 19:23 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:35 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 09:46 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:23 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 14:44 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-21 00:54 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-21 06:03 -0400
                Re: bug in  is_numeric fred <email@address.com> - 2013-05-23 15:38 +0100
                Re: bug in  is_numeric Arno Welzel <usenet@arnowelzel.de> - 2013-06-01 17:36 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-06-01 14:54 -0400
                Re: bug in  is_numeric Arno Welzel <usenet@arnowelzel.de> - 2013-06-05 15:25 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-06-05 10:34 -0400
                Re: bug in  is_numeric Arno Welzel <usenet@arnowelzel.de> - 2013-06-05 17:02 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-06-05 12:30 -0400
                OT: What you say is not always what you mean (was: Re: bug in  is_numeric) Arno Welzel <usenet@arnowelzel.de> - 2013-06-05 20:20 +0200
                Re: OT: What you say is not always what you mean Jerry Stuckle <jstucklex@attglobal.net> - 2013-06-05 14:40 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-18 21:51 +0200
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-18 17:13 -0500
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-19 00:49 +0200
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:24 -0500
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-19 12:40 +0200
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-19 12:43 +0100
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:29 -0500
                Re: bug in  is_numeric Norman Peelman <npeelman@cfl.rr.com> - 2013-05-18 14:53 -0400
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 18:41 -0400
          Re: bug in  is_numeric Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-05-13 08:35 -0700
          Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-13 20:26 +0000
      Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-13 20:15 +0000
    Re: bug in  is_numeric Robert Heller <heller@deepsoft.com> - 2013-05-12 13:03 -0500
  Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 18:03 +0200
    Re: bug in  is_numeric fred <email@address.com> - 2013-05-12 18:34 +0100
      Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 19:40 +0200
        Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-12 21:51 +0200
  Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-12 11:47 -0500
    Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-12 18:56 +0200
    Re: bug in  is_numeric Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2013-05-12 19:05 +0200
      Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 19:38 +0200
        Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 19:46 +0200
        Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-12 14:11 -0400
          Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 20:39 +0200
            Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-12 16:51 -0400
              Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 01:27 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-12 20:35 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 11:07 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-13 09:02 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 16:57 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 17:10 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-13 13:52 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 20:28 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 18:28 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-17 00:33 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 22:34 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-18 10:28 +0200
                Re: bug in  is_numeric Norman Peelman <npeelman@cfl.rr.com> - 2013-05-18 08:00 -0400
                Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-18 14:18 +0200
                Re: bug in  is_numeric Tim Streater <timstreater@greenbee.net> - 2013-05-18 13:20 +0100
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 08:47 -0400
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-18 14:05 +0100
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 10:16 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-18 16:14 +0200
  Re: bug in  is_numeric Sandman <mr@sandman.net> - 2013-05-14 10:34 +0200
    Re: bug in  is_numeric fred <email@address.com> - 2013-05-14 14:47 +0100
      Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-14 14:54 +0000
      Re: bug in  is_numeric Sandman <mr@sandman.net> - 2013-05-15 08:05 +0200
        Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-15 06:27 -0400
          Re: bug in  is_numeric Erwin Moller <erwinmollerusenet@xs4all.nl> - 2013-05-15 13:11 +0200

csiph-web