Re: Array mysteries

From: Date: Sun, 11 Mar 2007 20:55:05 +0000
Subject: Re: Array mysteries
References: 1 2 3 4 5 6 7 8 9  Groups: php.general 
Request: Send a blank email to php-general+get-250249@lists.php.net to get a copy of this message
On 3/11/07, Satyam <Satyam@satyam.com.ar> wrote:
----- Original Message ----- From: "Edward Vermillion" <evermillion@doggydoo.net> To: "tedd" <tedd@sperling.com> Cc: "Tijnema !" <tijnema@gmail.com>; <php-general@lists.php.net> Sent: Sunday, March 11, 2007 8:57 PM Subject: Re: [PHP] 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@sperling.com>tedd@sperling.com
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 is always fast, as long as you are not trying to do this 50k times, does
it make sense if a function takes 0.00000056 or 0.00000057 seconds to execute? I don't think so, so that means this is all going about users preference. Tijnema

« previous php.general (#250249) next »