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
[EMAIL PROTECTED]
-----Original Message-----
From: M. Sokolewicz [mailto:[EMAIL PROTECTED]
Sent: Friday, July 27, 2007 9:34 AM
To: Jacob Bergman
Cc: Jarrett Meyer; [email protected]
Subject: Re: [PHP-WIN] 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
> [EMAIL PROTECTED]
>
> -----Original Message-----
> From: Jarrett Meyer [mailto:[EMAIL PROTECTED]
> Sent: Friday, July 27, 2007 8:56 AM
> To: PHP Windows List
> Subject: Re: [PHP-WIN] 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 <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Friday, July 27, 2007 11:46:19 AM
> Subject: [PHP-WIN] 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
>
> [EMAIL PROTECTED]
>
>
>
--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php