Re: [PHP] Dumb Question - Casting

2010-02-18 Thread Nathan Rixham
Daniel Egeberg wrote:
> On Thu, Feb 18, 2010 at 16:47, Chuck  wrote:
>> Sorry, been doing heavy perl and haven't written any PHP in 3 years so a tad
>> rusty.
>>
>> Can someone explain why the second expression in this code snippet evaluates
>> to 7 and not 8?
>>
>> $a = (int) (0.1 +0.7);
>>
>> echo "$a\n";
>>
>> $x = (int) ((0.1 + 0.7) * 10);
>>
>> echo "$x\n";
>>
>> $y = (int) (8);
>>
>> echo "$y\n";
>>
> 
> The reason why you get 7 instead of 8 is because you are using
> floating point arithmetic. 0.1 (i.e. the fraction 1/10) does not have
> a finite representation in base 2 (like you cannot finitely represent
> 1/3 in base 10). So the number 0.1 is represented in the computer as a
> number that is strictly less than 0.1 so when you do 0.1+0.7=x then
> you have x<0.8 in the computer (think 7.999...). When you cast to
> int you just truncate the number, i.e. you chop off the fractional
> part leaving you with 7.
> 

yup as Daniel pointed out; this is correct - love floats & casting!

see:

$y = ((0.1 + 0.7) * 10);
$x = (int)$y;
$z = intval($y);
var_dump($y);
var_dump(serialize($y));
var_dump($x);
var_dump($z);

outputs:
float(8)
string(55) "d:7.99911182158029987476766109466552734375;"
int(7)
int(7)

lovely! - note: serializing gives us the exact value of the float

regards,

Nathan



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



Re: [PHP] Dumb Question - Casting

2010-02-18 Thread Joseph Thayne
According to the PHP manual using the same expression, "Never cast an 
unknown fraction to integer, as this can sometimes lead to unexpected 
results".  My guess is that since it is an expression of floating 
points, that the result is not quite 8 (for whatever reason).  
Therefore, it is rounded towards 0.  Of course, that is only a guess, 
and I have no true documentation on it.


Ashley Sheridan wrote:

On Thu, 2010-02-18 at 09:47 -0600, Chuck wrote:

  

Sorry, been doing heavy perl and haven't written any PHP in 3 years so a tad
rusty.

Can someone explain why the second expression in this code snippet evaluates
to 7 and not 8?

$a = (int) (0.1 +0.7);

echo "$a\n";

$x = (int) ((0.1 + 0.7) * 10);

echo "$x\n";

$y = (int) (8);

echo "$y\n";




It works as expected if you take out the int() parts in each line. I'm
not sure why, but the use of int() seems to be screwing around with the
results. That's why the first line outputs a 0.

Thanks,
Ash
http://www.ashleysheridan.co.uk



  


Re: [PHP] Dumb Question - Casting

2010-02-18 Thread Daniel Egeberg
On Thu, Feb 18, 2010 at 16:47, Chuck  wrote:
> Sorry, been doing heavy perl and haven't written any PHP in 3 years so a tad
> rusty.
>
> Can someone explain why the second expression in this code snippet evaluates
> to 7 and not 8?
>
> $a = (int) (0.1 +0.7);
>
> echo "$a\n";
>
> $x = (int) ((0.1 + 0.7) * 10);
>
> echo "$x\n";
>
> $y = (int) (8);
>
> echo "$y\n";
>

The reason why you get 7 instead of 8 is because you are using
floating point arithmetic. 0.1 (i.e. the fraction 1/10) does not have
a finite representation in base 2 (like you cannot finitely represent
1/3 in base 10). So the number 0.1 is represented in the computer as a
number that is strictly less than 0.1 so when you do 0.1+0.7=x then
you have x<0.8 in the computer (think 7.999...). When you cast to
int you just truncate the number, i.e. you chop off the fractional
part leaving you with 7.

-- 
Daniel Egeberg

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



Re: [PHP] Dumb Question - Casting

2010-02-18 Thread Andrew Ballard
On Thu, Feb 18, 2010 at 10:50 AM, Ashley Sheridan
 wrote:
> On Thu, 2010-02-18 at 09:47 -0600, Chuck wrote:
>
>> Sorry, been doing heavy perl and haven't written any PHP in 3 years so a tad
>> rusty.
>>
>> Can someone explain why the second expression in this code snippet evaluates
>> to 7 and not 8?
>>
>> $a = (int) (0.1 +0.7);
>>
>> echo "$a\n";
>>
>> $x = (int) ((0.1 + 0.7) * 10);
>>
>> echo "$x\n";
>>
>> $y = (int) (8);
>>
>> echo "$y\n";
>
>
> It works as expected if you take out the int() parts in each line. I'm
> not sure why, but the use of int() seems to be screwing around with the
> results. That's why the first line outputs a 0.
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>

Another fine example of floating point math.



Andrew

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



Re: [PHP] Dumb Question - Casting

2010-02-18 Thread Ashley Sheridan
On Thu, 2010-02-18 at 09:47 -0600, Chuck wrote:

> Sorry, been doing heavy perl and haven't written any PHP in 3 years so a tad
> rusty.
> 
> Can someone explain why the second expression in this code snippet evaluates
> to 7 and not 8?
> 
> $a = (int) (0.1 +0.7);
> 
> echo "$a\n";
> 
> $x = (int) ((0.1 + 0.7) * 10);
> 
> echo "$x\n";
> 
> $y = (int) (8);
> 
> echo "$y\n";


It works as expected if you take out the int() parts in each line. I'm
not sure why, but the use of int() seems to be screwing around with the
results. That's why the first line outputs a 0.

Thanks,
Ash
http://www.ashleysheridan.co.uk




RE: [PHP] DUMB QUESTION I'M SURE

2003-01-02 Thread rw
Quoting Cesar Aracena <[EMAIL PROTECTED]>:

### Try by adding a backslash to the : there (..."\: "...)
### 
### Cesar L. Aracena
### [EMAIL PROTECTED]
### [EMAIL PROTECTED]
### (0299) 156-356688
### Neuquén (8300) Capital
### Argentina
### 
### 
### -Mensaje original-
### De: Adam French [mailto:[EMAIL PROTECTED]] 
### Enviado el: viernes, 03 de enero de 2003 3:18
### Para: [EMAIL PROTECTED]
### Asunto: [PHP] DUMB QUESTION I'M SURE
### 
### I'm just starting out, this is my script...
### 
### " .$feildvalue. "";
###   }
###  echo"";
###  }
### ?>
### 
### This is the error I get...
### 
### Parse error: parse error, unexpected ':' in
### C:\Xitami\webpages\php\result1.php on line 12
### 
### I dunno what I'm doing wrong. Help please???
### 
### 
### 
### -- 
### PHP General Mailing List (http://www.php.net/)
### To unsubscribe, visit: http://www.php.net/unsub.php
### 
### 
### --
### PHP General Mailing List (http://www.php.net/)
### To unsubscribe, visit: http://www.php.net/unsub.php
### 
### 




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




Re: [PHP] DUMB QUESTION I'M SURE

2003-01-02 Thread Jason k Larson
I think it's just the $query var not having the right number of quotes. 
 I added single quotes around the value.


$name = $_POST['username'];
$name = $name;
$db = mysql_connect("localhost");
mysql_select_db("vinyldealers",$db);
$query = "SELECT shops.name FROM shops WHERE name = '".$name."'";
$result = mysql_query($query);
while ($record = mysql_fetch_assoc($result)) {
 while (list($feildname, $feildvalue) = each ($record)) {
  echo $feildname. ": " .$feildvalue. "";
  }
 echo"";
 }
?>

HTH,
Jason k Larson


Adam French wrote:
I'm just starting out, this is my script...

" .$feildvalue. "";
  }
 echo"";
 }
?>

This is the error I get...

Parse error: parse error, unexpected ':' in
C:\Xitami\webpages\php\result1.php on line 12

I dunno what I'm doing wrong. Help please???





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




RE: [PHP] DUMB QUESTION I'M SURE

2003-01-02 Thread Cesar Aracena
What they mean is to make that line:

$query = "SELECT shops.name FROM shops WHERE name = $name";

Cesar L. Aracena
[EMAIL PROTECTED]
[EMAIL PROTECTED]
(0299) 156-356688
Neuquén (8300) Capital
Argentina


-Mensaje original-
De: Adam French [mailto:[EMAIL PROTECTED]] 
Enviado el: viernes, 03 de enero de 2003 3:18
Para: [EMAIL PROTECTED]
Asunto: [PHP] DUMB QUESTION I'M SURE

I'm just starting out, this is my script...

" .$feildvalue. "";
  }
 echo"";
 }
?>

This is the error I get...

Parse error: parse error, unexpected ':' in
C:\Xitami\webpages\php\result1.php on line 12

I dunno what I'm doing wrong. Help please???



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


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




RE: [PHP] DUMB QUESTION I'M SURE

2003-01-02 Thread Cesar Aracena
Try by adding a backslash to the : there (..."\: "...)

Cesar L. Aracena
[EMAIL PROTECTED]
[EMAIL PROTECTED]
(0299) 156-356688
Neuquén (8300) Capital
Argentina


-Mensaje original-
De: Adam French [mailto:[EMAIL PROTECTED]] 
Enviado el: viernes, 03 de enero de 2003 3:18
Para: [EMAIL PROTECTED]
Asunto: [PHP] DUMB QUESTION I'M SURE

I'm just starting out, this is my script...

" .$feildvalue. "";
  }
 echo"";
 }
?>

This is the error I get...

Parse error: parse error, unexpected ':' in
C:\Xitami\webpages\php\result1.php on line 12

I dunno what I'm doing wrong. Help please???



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


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




Re: [PHP] DUMB QUESTION I'M SURE

2003-01-02 Thread Tom Rogers
Hi,

Friday, January 3, 2003, 4:18:05 PM, you wrote:
AF> I'm just starting out, this is my script...

AF>  $name = $_POST['username'];
AF> $name = $name;
AF> $db = mysql_connect("localhost");
AF> mysql_select_db("vinyldealers",$db);
AF> $query = "SELECT shops.name FROM shops WHERE name = ".$name.";
AF> $result = mysql_query($query);
AF> while ($record = mysql_fetch_assoc($result)) {
AF>  while (list($feildname, $feildvalue) = each ($record)) {
AF>   echo $feildname. ": " .$feildvalue. "";
AF>   }
AF>  echo"";
AF>  }
?>>

AF> This is the error I get...

AF> Parse error: parse error, unexpected ':' in
AF> C:\Xitami\webpages\php\result1.php on line 12

AF> I dunno what I'm doing wrong. Help please???




Don't need the ." at the end of this line:

$query = "SELECT shops.name FROM shops WHERE name = ".$name.";

-- 
regards,
Tom


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




Re: [PHP] Dumb Question

2002-08-31 Thread Gerard Samuel

Here is my stab at it. One person described it as the opposite of OO.
So something similar to ->


would be considered "procedural code".
If Im wrong I stand corrected

Michael Sims wrote:

>On Sat, 31 Aug 2002 14:04:11 -0400, you wrote:
>
>  
>
>>And I feel foolish asking...
>>What is meant by 'procedural code' ???
>>
>>
>
>It's the opposite of "declarative code".  Here's a page that briefly
>explains the difference:
>
>
>
>and
>
>
>
>There may be other contexts that the term "procedural" could be used
>in, and if so it may have other meanings that I am not aware of
>
>
>  
>

-- 
Gerard Samuel
http://www.trini0.org:81/
http://dev.trini0.org:81/



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




Re: [PHP] Dumb Question

2002-08-31 Thread Michael Sims

On Sat, 31 Aug 2002 14:04:11 -0400, you wrote:

>And I feel foolish asking...
>What is meant by 'procedural code' ???

It's the opposite of "declarative code".  Here's a page that briefly
explains the difference:



and



There may be other contexts that the term "procedural" could be used
in, and if so it may have other meanings that I am not aware of

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




Re: [PHP] Dumb Question

2002-08-31 Thread @ Edwin

>
>Google didn't have much to offer.

Sorry 'bout that. Actually, if you have an idea of what OO 
("object-oriented") is, I think I can say that "procedural" is just the 
opposite of it.

I tried Google myself and this came out on top:

  "Writing Procedural Code in Non-Procedural SQL"

There's a short explanation but I think it's enough to give you some hint 
about "procedural code".

- E

>But if I should also check 'object-oriented' then I believe it deals
>with classes.
>I thought it was something else.
>Just trying to figure out if phpdoc is for me, which it seems like its
>not :(
>
>Thanks

:)


>
>
>@ Edwin wrote:
>
> > My "dumb" answer :)
> >
> > Try Google. Type:
> >
> > "procedural code"
> >
> > You might want to check,
> >
> > "object-oriented"
> >
> > as well...
> >
> > I'm sure, you'll find helpful explanations...
> >
> > - E
> >
> >>
> >> And I feel foolish asking...
> >> What is meant by 'procedural code' ???
> >>
> >> --
> >> Gerard Samuel
> >> http://www.trini0.org:81/
> >> http://dev.trini0.org:81/
> >>
> >>
> >>
> >> --
> >> PHP General Mailing List (http://www.php.net/)
> >> To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> >
> >
> >
> > _
> > $B2q0wEPO?$OL5NA!&=< > http://auction.msn.co.jp/
> >
> >
> >
>
>--
>Gerard Samuel
>http://www.trini0.org:81/
>http://dev.trini0.org:81/




_
$B$+$o$$$/$FL{2w$J%$%i%9%HK~:\(B MSN $B%-%c%i%/%?!<(B http://character.msn.co.jp/


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


Re: [PHP] Dumb Question

2002-08-31 Thread Gerard Samuel
Google didn't have much to offer.
But if I should also check 'object-oriented' then I believe it deals
with classes.
I thought it was something else.
Just trying to figure out if phpdoc is for me, which it seems like its
not :(

Thanks


@ Edwin wrote:

> My "dumb" answer :)
>
> Try Google. Type:
>
> "procedural code"
>
> You might want to check,
>
> "object-oriented"
>
> as well...
>
> I'm sure, you'll find helpful explanations...
>
> - E
>
>>
>> And I feel foolish asking...
>> What is meant by 'procedural code' ???
>>
>> --
>> Gerard Samuel
>> http://www.trini0.org:81/
>> http://dev.trini0.org:81/
>>
>>
>>
>> --
>> PHP General Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
>
>
>
> _
> $B2q0wEPO?$OL5NA!&=< http://auction.msn.co.jp/
>
>
>

-- 
Gerard Samuel
http://www.trini0.org:81/
http://dev.trini0.org:81/



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


Re: [PHP] Dumb Question

2002-08-31 Thread @ Edwin
My "dumb" answer :)

  Try Google. Type:

"procedural code"

  You might want to check,

"object-oriented"

  as well...

  I'm sure, you'll find helpful explanations...

- E

>
>And I feel foolish asking...
>What is meant by 'procedural code' ???
>
>--
>Gerard Samuel
>http://www.trini0.org:81/
>http://dev.trini0.org:81/
>
>
>
>--
>PHP General Mailing List (http://www.php.net/)
>To unsubscribe, visit: http://www.php.net/unsub.php




_
$B2q0wEPO?$OL5NA!&=

[Fwd: Re: [PHP] Dumb question]

2002-08-21 Thread David Christensen





--- Begin Message ---



On Wed, 2002-08-21 at 20:35, Bob Irwin wrote:
> You need to declare $vari as a global variable.
> 
> 
> eg;
> 
>  function getvar()
> {
> global $vari;
> 
>  $vari = "bollocks";
> }
>  
> getvar();
> echo $vari;
> ?>
> 
> Best Regards
> Bob Irwin
> Server Admin & Web Programmer
> Planet Netcom
> - Original Message - 
> From: "Liam MacKenzie" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, August 22, 2002 1:27 PM
> Subject: [PHP] Dumb question
> 
> 
> > Hey guys, got a basic question for you...
> > 
> > 
> > 
> >  > function getvar()
> > {
> >  $vari = "bollocks";
> > }
> > 
> > getvar();
> > echo $vari;
> > ?>
> > 
> > 
> > How do I make that function return the variable?  
> > 
> > 
> > Thanks,
> > Liam
> > 
> > 
> > 
> > 
> > -- 
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> > 
> > 
> > Scanned by PeNiCillin http://safe-t-net.pnc.com.au/
> > 
> > Scanned by PeNiCillin http://safe-t-net.pnc.com.au/
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 



--- End Message ---

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


Re: [PHP] Dumb question

2002-08-21 Thread Bob Irwin

You need to declare $vari as a global variable.


eg;



Best Regards
Bob Irwin
Server Admin & Web Programmer
Planet Netcom
- Original Message - 
From: "Liam MacKenzie" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 22, 2002 1:27 PM
Subject: [PHP] Dumb question


> Hey guys, got a basic question for you...
> 
> 
> 
>  function getvar()
> {
>  $vari = "bollocks";
> }
> 
> getvar();
> echo $vari;
> ?>
> 
> 
> How do I make that function return the variable?  
> 
> 
> Thanks,
> Liam
> 
> 
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 
> Scanned by PeNiCillin http://safe-t-net.pnc.com.au/
> 
> Scanned by PeNiCillin http://safe-t-net.pnc.com.au/


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




RE: [PHP] Dumb question on terminology

2002-02-26 Thread Martin Towell

In a nutshell:

$row->data is referring to an object, not an array, that has an attribute of
"$data"

$row['data'] is an associative array - ie, indexes are non-numerical - with
an index of "data"

Martin

-Original Message-
From: Dean Householder [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, February 27, 2002 11:32 AM
To: [EMAIL PROTECTED]
Subject: [PHP] Dumb question on terminology


Some arrays use the format:
$row->data

while some use:
$row['data']

What is the terminology of these types so I sound like I know what I'm
talking about.  Also, when and how do each come about?

Dean