|
Posted by Toby Inkster on 09/29/05 01:20
Els wrote:
> My knowledge of PHP doesn't extend beyond the use of an include or a
> simple if/else statement yet. I know that 'int' rounds a number to an
> integer, but that's about as much as I can see in the above snippet.
Not quite. It's a "type cast". That is, it forces the string value "2" to
an integer value 2. PHP is a "weakly typed" language, which means that
most of the time, PHP will do all the casting you need for you. But it's
usually a good idea to do it explicitly, to prevent any nasty surprises.
<?php
if ("2"=="2.0")
{
print "This will never happen.\n";
}
if ( (int)"2" == (int)"2.0" )
{
print "This will happen!\n";
}
?>
Of course, if you have a fractional number and do a type cast to an
integer:
$x = (int)4.25;
it has the same effect as rounding the number -- but this is merely a
side-effect: the main operation has been casting a floating-point number
to an integer.
> Just a guess: somewhere in the week the value of 'w' rounds down or up
> to the wrong integer to be accurate for the day?
http://www.php.net/date
date("w") returns the current day of the week as a numeric string. If
today is a Monday, then it returns "1"; if today is Tuesday, it returns
"2"; etc.
If it's Sunday, it returns "0": thus "if ($day)" evaluates to "if (0)";
which is always false: so the paragraph does not get printed at all.
--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact
Navigation:
[Reply to this message]
|