date('w') return type

php.internals

dharana

22 years ago
I know I can just cast to int, but is it ok to return an string for things that can only be numbers? <?php // imagine today is sunday var_export(date('w') === 0); ?> prints false, but I expected it to return an int. Am I wrong? I imagine it's the same thing with the rest of date's return values. Btw, I don't hope it will be changed because it would probably break a lot of scripts.
-- Juan Alonso This message represents the official view of the voices in my head

Curt Zirzow

22 years ago
* Thus wrote dharana (dharana@dharana.net):
> I know I can just cast to int, but is it ok to return an string for > things that can only be numbers? > > > <?php > // imagine today is sunday > var_export(date('w') === 0); > ?> > > prints false, but I expected it to return an int. Am I wrong? I imagine > it's the same thing with the rest of date's return values.
<manual> string date ( string format [, int timestamp]) </manual> Looks like it returns a string. Curt
-- First, let me assure you that this is not one of those shady pyramid schemes you've been hearing about. No, sir. Our model is the trapezoid!

Curt Zirzow

22 years ago
* Thus wrote Curt Zirzow (curt@php.net):
> > Looks like it returns a string. >
oops.. sorry I thought this was a php-general question. Curt
-- First, let me assure you that this is not one of those shady pyramid schemes you've been hearing about. No, sir. Our model is the trapezoid!

Hartmut Holzgraefe

22 years ago
dharana wrote:
> I know I can just cast to int, but is it ok to return an string for > things that can only be numbers?
The date() and strftime() functions are expected to always return strings, no matter what the format string looks like. The same holds true for sprintf(), you wouldn't expect sprintf("%d", 42) to return an int, would you?
-- Hartmut Holzgraefe <hartmut@php.net>

dharana

22 years ago
I think I just smoked something illegal before posting that question. The brain damage seems to be gone, sorry for the spam. It just did made sense at that moment. Hartmut Holzgraefe wrote:
> dharana wrote: > >> I know I can just cast to int, but is it ok to return an string for >> things that can only be numbers? > > > The date() and strftime() functions are expected to always return > strings, no matter what the format string looks like. > The same holds true for sprintf(), you wouldn't expect > > sprintf("%d", 42) > > to return an int, would you? >
-- Juan Alonso This message represents the official view of the voices in my head