[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 213
  • Last Modified:

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.
0
smoothcat11
Asked:
smoothcat11
1 Solution
 
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
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
alternatively:


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

Open in new window

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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
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

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now