Switch Statement with More then One Variable

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.
smoothcat11Asked:
Who is Participating?
 
Guy Hengel [angelIII / a3]Connect With a Mentor Billing EngineerCommented:
alternatively:


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

Open in new window

0
 
gamebitsCommented:
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
 
TECHHEAD_bizCommented:
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
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
smoothcat11Author Commented:
Can anyone give me an example of an associative array for this situation?
0
 
TECHHEAD_bizCommented:
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
 
palanee83Commented:
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
 
smoothcat11Author Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.