Thanks, unfortunately, I don't really know what the whole " if(is_array($State)) { $total = 0; foreach($State as $s) { $total += ComputeSalesTax($Amt, $s); } return $total;" don't know enough yet to understand what all that means... I have gotten the function to work the way I want using a for loop in the function... but it doesn't seem to want to display the 0 keyed value in the array. If you run this, you'll see what I mean. Can you tell me what is wrong with it? ---------------------------------------------------------------------- $State = array ("WA" , "CA" , "OR"); function compute_salestax ($Amount , $State) { for ($i = 0 ; $i<= 2/*sizeof($State)*/ ; $i++) { switch ($State[$i]) { case "WA" : $Rate = "1.07"; break; case "CA" : $Rate = "1.08"; break; case "OR" : $Rate = "1.05"; break; } global $Rate; $Truetax = ($Amount * $Rate); echo "$i="; echo "$Rate | $Truetax <br />"; }} $Amount = 1850; compute_salestax($Amount , $State); --------------------------------------------------------------------- When I run it, I get this --------------------------------------------------------------------- 0= | 0 1=1.08 | 1998 2=1.05 | 1942.5 --------------------------------------------------------------------- Thanks for the help guys! Jacob Bergman Network Technician Pullman School District #267 (509) 432-4012 jbergman@xxxxxxxxxxxxxxxxx -----Original Message----- From: M. Sokolewicz [mailto:tularis@xxxxxxx] Sent: Friday, July 27, 2007 9:34 AM To: Jacob Bergman Cc: Jarrett Meyer; php-windows@xxxxxxxxxxxxx Subject: Re: Arrays past to functions function ComputeSalesTax($Amt, $State) { if(is_array($State)) { $total = 0; foreach($State as $s) { $total += ComputeSalesTax($Amt, $s); } return $total; } else { switch ($State) { case "CA": $tax = 1.05; break; case "WA": $tax = 1.07; break; // etc. default: $tax = false; } if ($tax != false) { return ($Amt * $tax); } else { die("State not found!"); // or some other graceful method... } } } Jacob Bergman wrote: > Your right, and I have gotten it to work that way, but I wanted to see > how it would be done if I was to use an array. I was trying to do > something easy just so I could "see how it would be done" I guess you > could say. Plus when I run the function, I want it to output the total > price for all states in the array, and not have to call the function and > pass it a state and amount for each state. Thanks for the reply. > > Jacob Bergman > Network Technician > Pullman School District #267 > (509) 432-4012 > jbergman@xxxxxxxxxxxxxxxxx > > -----Original Message----- > From: Jarrett Meyer [mailto:jmtmeyer@xxxxxxxxx] > Sent: Friday, July 27, 2007 8:56 AM > To: PHP Windows List > Subject: Re: Arrays past to functions > > You don't really need an array here. > > function ComputeSalesTax($Amt, $State) > { > switch ($State) > { > case "CA": > $tax = 1.05; > break; > case "WA": > $tax = 1.07; > break; > // etc. > default: > $tax = false; > } > if ($tax != false) > { > return ($Amt * $tax); > } > else > { > die("State not found!"); > // or some other graceful method... > } > } > > ComputeSalesTax(2000, "CA"); > // returns 2100 > > ComputeSalesTax(2000, "LA"); > // fails > > -- > Jarrett M. T. Meyer > http://jarrettmeyer.blogspot.com > http://www.jarrettmeyer.com > > ----- Original Message ---- > From: Jacob Bergman <jbergman@xxxxxxxxxxxxxxxxx> > To: php-windows@xxxxxxxxxxxxx > Sent: Friday, July 27, 2007 11:46:19 AM > Subject: Arrays past to functions > > Hello all, > > I am learning about passing arrays to functions, and am trying to > create a function that will display a total amount for a price for > several states. Say using CA, WA, and OR, and setting there tax rates > at, whatever, say 5%, 7%, and 8% respectively. I want a function I can > pass the array of states, and tax rates to that will display the total > amount (amount + tax) of say a $1500 purchase. I am trying to use a > switch statement to accomplish this, but I think I may be in over my > head trying to do this with what I have learned so far... Here is the > code I have so far I get 0 every time I run it, try not to laugh... :-) > Thanks guys. > > > > > > $State = array ("CA" , "WA" , "OR"); > > function compute_salestax ($Amount , $State) > > { > > switch ($State) > > { > > case "CA" : > > $Rate = "1.05"; > > break; > > case "WA" : > > $Rate = "1.07"; > > break; > > case "OR" : > > $Rate = "1.08"; > > break; > > } > > > > global $Rate; > > $Truetax = ($Amount * $Rate); > > echo "$Truetax <br />"; > > } > > $Amount = 1500; > > compute_salestax($Amount , $State); > > > > > > > > Jacob Bergman > > Network Technician > > Pullman School District #267 > > (509) 432-4012 > > jbergman@xxxxxxxxxxxxxxxxx > > > -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php