Ninjakreborn Posted April 18, 2006 Share Posted April 18, 2006 I apologize for another question. I backtracked and found somethign I didn't understand, I have tried fighting with these for awhile, the switch case statements, I am not sure how or when to supplement these, I wrote my own script, basic script to test, and mastered if statements(atleast the basics).if <?php$grade = 70;$mark = 97;$david = 53;$jim = 63;$walton = 96;$jessy = 63;$dave = 93;$parker = 63;if ($mark ?>well whatever you get the picture I can't retype all that right now, but I created it to where if you compare someones grade, with teh grade value, for instance, if there grade is above 70 or equal to, it says you passed, sort of, or if it didn't they failed. So I set all that up, and when I tried to run it to a switch case statement, THere's no way possible switch statements, are not meant to be used like that, so how are they used. Quote Link to comment Share on other sites More sharing options...
Hooker Posted April 18, 2006 Share Posted April 18, 2006 Switch case statements are generaly used on one variable, i think the problem you have here is more down to script planning than anything, try using an array to hold the information (or a database) in a single variable that can be processed by the same function, failing that heres a couple of ways to do it:[code]<?php$i = "50"; // set the value of the variableecho ($i >= 70) ? "passed" : // check if the value of variable $i is above 70 and output "passed" (($i <= 70) ? "failed" : "")); // check if the value of variable $i is below 70 and output "failed"?>[/code]although if you're trying to learn about switch case statements, heres a quick example:[code]<?php$i = "50";switch ($i) { case ($i <= 70): echo "failed"; break; case ($i >= 70): echo "passed"; break; default: echo "no input!"; break;}?>[/code]both examples work pretty much the same way and both written off the top of my head so excused me if ya pick out the odd miss-placed "(" :Panyway as you can see most switch case statements will use one variable and compare its contents to pre-set values (the cases) then if it finds it it outputs everything up to the next "break" or "case" at which point it will either check the value again or stop the output, if there is no value or the value of the variable doesnt match any of the case's you can set a default output (as seen above) so you dont have a completely empty output, hope this helps! Quote Link to comment Share on other sites More sharing options...
ypirc Posted April 18, 2006 Share Posted April 18, 2006 Okay, you wouldn't use a switch statement for this. Also, you wouldn't seperate -each- student into a different variable. They'd normally probably be stored in an array, or be looped one-by-one from a database connection. I'm not going to explain switches here, but would prefer if you read and reviewed the examples at [a href=\"http://www.php.net/switch\" target=\"_blank\"]http://www.php.net/switch[/a]Here is how to perform this task using an if/else format.[code]<? $grade = 70;$student = array('parker'=>'63', 'dave'=>'93', 'jessy'=>'63', 'walton'=>'96', 'david'=>'53');foreach($student as $name => $mark) { if ($mark < $grade) { echo "$name failed with a $mark\n"; } else { echo "$name passed with a $mark\n"; }}?>[/code]Output:[!--quoteo--][div class=\'quotetop\']QUOTE[/div][div class=\'quotemain\'][!--quotec--]%php -f c.phpparker failed with a 63dave passed with a 93jessy failed with a 63walton passed with a 96david failed with a 53[/quote] Quote Link to comment Share on other sites More sharing options...
Ninjakreborn Posted April 18, 2006 Author Share Posted April 18, 2006 I will read these tomorrow, but I also don't know arrays, yet or anything liket hat I am building up to those currently. Quote Link to comment Share on other sites More sharing options...
Ninjakreborn Posted April 18, 2006 Author Share Posted April 18, 2006 perfect thanks for the help Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.