mds1256 Posted June 21, 2011 Share Posted June 21, 2011 Hello After some advice I have the following code but need to get the function to have a default value if a GET variable is not set. So if i use error(); i get the default function value which is fine and is what i want but when i add an argument of GET and the GET is not set then it doesnt work and displays blank. <?php function error($errorID=0) { echo $errorID; } error($_GET['errorID']); ?> Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/ Share on other sites More sharing options...
trq Posted June 21, 2011 Share Posted June 21, 2011 Use isset to check the variable exists prior to passing it to your function. Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1232701 Share on other sites More sharing options...
mds1256 Posted June 21, 2011 Author Share Posted June 21, 2011 kind of but when the errorID is null or blank it doesnt give any value from the function. I was also hoping to all the checking inside the function instead of on the page where i am going to use this function <?php function error($errorID=0) { echo $errorID; } if(isset($_GET['errorID'])) { error($_GET['errorID']); } else { error(); } ?> Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1232715 Share on other sites More sharing options...
mds1256 Posted June 24, 2011 Author Share Posted June 24, 2011 bump, any one? Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1234257 Share on other sites More sharing options...
EdwinPaul Posted June 24, 2011 Share Posted June 24, 2011 If you pass a 'nothing' to your function, the function will echo 'nothing'... Check for yourself: change echo $errorID; to: echo '>>>'.$errorID.'<<<'; and you will see the result. Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1234261 Share on other sites More sharing options...
mds1256 Posted June 24, 2011 Author Share Posted June 24, 2011 Thats fine but i want it to default to its default value is nothing is passed in not just display nothing Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1234270 Share on other sites More sharing options...
trq Posted June 24, 2011 Share Posted June 24, 2011 function error($errorID=null) { echo !empty($errorID) ? $errorID : 'somedefault'; } Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1234279 Share on other sites More sharing options...
mds1256 Posted June 24, 2011 Author Share Posted June 24, 2011 function error($errorID=null) { echo !empty($errorID) ? $errorID : 'somedefault'; } You are a legend!!!!! excatly what i was after! THANKS! Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1234289 Share on other sites More sharing options...
trq Posted June 24, 2011 Share Posted June 24, 2011 And it only took like 3 days? You should take a look at the manual in relation to control structures. A simple 'if' statement would have fixed this in 5 minutes. http://php.net/manual/en/control-structures.if.php Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1234293 Share on other sites More sharing options...
mds1256 Posted June 24, 2011 Author Share Posted June 24, 2011 And it only took like 3 days? You should take a look at the manual in relation to control structures. A simple 'if' statement would have fixed this in 5 minutes. http://php.net/manual/en/control-structures.if.php not done much with ternary operators, but they are quite useful i have learnt Quote Link to comment https://forums.phpfreaks.com/topic/239975-default-function-argument-with-_get/#findComment-1234295 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.