Solved

Switch Statement with More then One Variable

Posted on 2007-11-19
7
204 Views
Last Modified: 2013-12-13
This is an example:

Lets say I have 1000 urls

http://www.abc.com/var1=1&var2=1
http://www.abc.com/var1=1&var2=2
http://www.abc.com/var1=1&var2=3
http://www.abc.com/var1=1&var2=4
http://www.abc.com/var1=1&var2=5
http://www.abc.com/var1=2&var2=1
http://www.abc.com/var1=2&var2=2
http://www.abc.com/var1=2&var2=3
http://www.abc.com/var1=2&var2=4
http://www.abc.com/var1=2&var2=5

This is basically the pattern.  Let's say I want to specify the url that has var1=2 and var2=5.  How would you write that in the most efficient way?  Thanks.
0
Comment
Question by:smoothcat11
7 Comments
 
LVL 28

Expert Comment

by:gamebits
ID: 20316958
switch ($var1){

              case "1":

                        switch ($var2){

                                   case "1":
                                                URL
                                         break;
 
                                   case "2":
                                               URL
                                          break;
                                                }

                           case "2"

                                       switch ($var2){

                                           case "1":
                                                    URL
                                              break;

                                           case "2":
                                                    URL
                                               break;
                                                              }
                                }

repeat the process as needed
0
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 20317831
alternatively:


switch ( "$var1:var")
{
  case "2:5":
     ....
     break; 
 
}

Open in new window

0
 
LVL 1

Expert Comment

by:TECHHEAD_biz
ID: 20317986
More simply, you could use an associative array of associative arrays.  I would need a refresher on the semantics of PHP, but this is how I would do it in any other language.
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 

Author Comment

by:smoothcat11
ID: 20317998
Can anyone give me an example of an associative array for this situation?
0
 
LVL 1

Expert Comment

by:TECHHEAD_biz
ID: 20318014
It would be something along these lines.  Again, I am probably wrong on the semantics.

$vars = {};
$vars['1'] = {'1' => 'someURL', '2' => 'someOtherURL'};
$vars['1']['2'] == 'someOtherURL';
0
 
LVL 5

Expert Comment

by:palanee83
ID: 20318856
Yes you can do this by using associative array like below
<?php
 
$varURL = array(1=>array("http://www.abc.com/var1=1&var2=1","http://www.abc.com/var1=1&var2=2","http://www.abc.com/var1=1&var2=5"),
2=>array("http://www.abc.com/var1=2&var2=1","http://www.abc.com/var1=2&var2=2","http://www.abc.com/var1=2&var2=5"));
foreach($varURL as $key=>$URLS)
{
	for($j=0;$j<count($URLS);$j++)
	{
 
		if($URLS[$j]=="http://www.abc.com/var1=2&var2=5")
		{
 
			echo "URL Found: ".$URLS[$j];
			exit;
		}
	}
}
?>

Open in new window

0
 

Author Closing Comment

by:smoothcat11
ID: 31410048
I really like this solution.  don't forget that if you use just a 2 you need to make it
"2:" not "2" for the catch all
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article discusses four methods for overlaying images in a container on a web page
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
This tutorial demonstrates how to identify and create boundary or building outlines in Google Maps. In this example, I outline the boundaries of an enclosed skatepark within a community park.  Login to your Google Account, then  Google for "Google M…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question