Re: Thousands Separator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeffry Killen wrote:

> On Jan 16, 2015, at 3:37 PM, Christoph Becker wrote:
> 
>> Jeffry Killen wrote:
>>
>>> Sorry, there is a misunderstanding on my part here:
>>> On Jan 16, 2015, at 2:31 PM, Jeffry Killen wrote:
>>>
> Actually what should work with settype is
>>>> $num = '123_456_789';
>>>> settype(str_replace('_', '', $num), 'int')
>>>>
> settype should coerce the data type in place to an int. (of float if you
> use 'float' as the second argument to settype

settype()'s first parameter is supposed to be passed by reference, but
values can't generally be passed by reference.

> I got this to work
> <?php
> 
> $num = '123_456_789';
> $num = str_replace('_', '', $num);
> settype($num, 'int');
> print "\$num += 1: ".$num += 1;
> ?>

Yes, that works because you're passing a variable as first argument to
settype().  However, in this special case you don't need settype() at
all; the following has the same result:

<?php

$num = '123_456_789';
$num = str_replace('_', '', $num);
print "\$num += 1: ".$num += 1;

That is because the addition operator (+) "juggles" its operands to
numeric values, anyway.  If you would replace the print statement with a
call to var_dump(), like so:

  var_dump($num);

calling settype() before would make a difference, though.

-- 
Christoph M. Becker

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux