----- Original Message -----
From: "Edward Vermillion" <evermillion@xxxxxxxxxxxx>
To: "tedd" <tedd@xxxxxxxxxxxx>
Cc: "Tijnema !" <tijnema@xxxxxxxxx>; <php-general@xxxxxxxxxxxxx>
Sent: Sunday, March 11, 2007 8:57 PM
Subject: Re: Array mysteries
On Mar 11, 2007, at 1:59 PM, tedd wrote:
At 12:02 PM -0500 3/11/07, Edward Vermillion wrote:
On Mar 11, 2007, at 10:02 AM, tedd wrote:
At 3:05 PM +0100 3/11/07, Tijnema ! wrote:
On 3/11/07, tedd <<mailto:tedd@xxxxxxxxxxxx>tedd@xxxxxxxxxxxx> wrote:
At 10:05 AM +0100 3/11/07, Tijnema ! wrote:
- You could define $wdays inside the function
function convert_from_weekday ($weekday) {
$wdays = array
(0 => "Sonntag"
,1 => "Montag"
,2 => "Dienstag"
,3 => "Mittwoch"
,4 => "Donnerstag"
,5 => "Freitag"
,6 => "Samstag"
);
return $wdays[$weekday];
}
$day = convert_from_weekday(0) // $day = "Sonntag"
Tijnema:
That's also a shorter version of a simple switch statement.
I haven't thought of, or seen, that before -- thanks.
tedd
Yeah it is, but i just used moved his $wdays inside the function...
but well, there are ofcourse a lot of other options, as date ("l")
would also return the day of the month :)
Tijnema
It's the technique and not the specific data thing I was addressing.
When I'm confronted with a case condition, I typically use the switch
statement. But, your solution provided me with another way to look at
that.
Cheers,
tedd
But what's the cost of this in a loop, rebuilding the array each time,
as compared to a switch statement? Just another thought...
Ed
It's just another way to look at a possible solution.
As for the cost, what are we talking about? I doubt that a "typical"
application would show any discernable difference in execution times.
One could test this easy enough by running both through 50k loops, but
even then I doubt that the times would be that much different -- but I
may be wrong, been there before.
Cheers,
tedd
I don't know if there would be any difference either, which is why it was
a question.
Although Larry's suggestion of making the array static is something I
hadn't thought of.
Overall it is an interesting concept to use an array instead of a switch,
and I do wonder at what point, if any, that the two would start to
diverge resource-wise.
Would the array lookup be faster for a lesser-used option/key in a
situation where there were quite a few options? (you wouldn't have to go
through the whole switch to get to the option at the end (?) or would
you? I have no idea how that all works internally)
Yes, you would. It goes sequentially through each case:. The array, on the
other hand, uses a hashing algorithm so it should be about even no matter
which option you pick.
Satyam
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php